libpng1.6 (1.6.56-1) unstable; urgency=high
authorTobias Frost <tobi@debian.org>
Sun, 29 Mar 2026 06:36:13 +0000 (08:36 +0200)
committerTobias Frost <tobi@debian.org>
Sun, 29 Mar 2026 06:36:13 +0000 (08:36 +0200)
  * New upstream release 1.6.56
    - .CVE-2026-33416 - Use after free (Closes: #1132012)
    -  CVE-2026-33636 - OOB read/write (Closes: #1132013)

[dgit import unpatched libpng1.6 1.6.56-1]

30 files changed:
1  2 
debian/changelog
debian/changelogs
debian/clean
debian/control
debian/copyright
debian/docs
debian/gbp.conf
debian/libpng-dev.examples
debian/libpng-dev.install
debian/libpng-dev.links
debian/libpng-dev.manpages
debian/libpng-tools.install
debian/libpng16-16-udeb.install
debian/libpng16-16t64.doc-base
debian/libpng16-16t64.docs
debian/libpng16-16t64.install
debian/libpng16-16t64.lintian-overrides
debian/libpng16-16t64.symbols
debian/libpng16-config.1
debian/libpng16-dev.manpages
debian/libpng16-tools.install
debian/not-installed
debian/patches/libpng-1.6.39-apng.patch
debian/patches/libpng-config.patch
debian/patches/series
debian/rules
debian/salsa-ci.yml
debian/source/format
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..70891e7951becb4698461665ab5d655c2327c4a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1931 @@@
++libpng1.6 (1.6.56-1) unstable; urgency=high
++
++  * New upstream release 1.6.56
++    - .CVE-2026-33416 - Use after free (Closes: #1132012)
++    -  CVE-2026-33636 - OOB read/write (Closes: #1132013)
++
++ -- Tobias Frost <tobi@debian.org>  Sun, 29 Mar 2026 08:36:13 +0200
++
++libpng1.6 (1.6.55-1) unstable; urgency=medium
++
++  * New upstream version 1.6.55
++    - CVE-2026-25646 (Closes: #1127566)
++  * Bump std-version to 4.7.3, no changes required
++  * Drop R^3: no, default now
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 12 Feb 2026 10:55:21 +0100
++
++libpng1.6 (1.6.54-1) unstable; urgency=medium
++
++  * New upstream version 1.6.54.
++    - CVE-2026-22695 - Heap buffer overread. Closes: #1125443
++    - CVE-2026-22801 - Heap buffer overread. Closes: #1125444
++  * Bump d/copyright years.
++
++ -- Tobias Frost <tobi@debian.org>  Fri, 16 Jan 2026 08:49:40 +0100
++
++libpng1.6 (1.6.53-1) unstable; urgency=medium
++
++  * New upstream version 1.6.53.
++
++ -- Tobias Frost <tobi@debian.org>  Sun, 07 Dec 2025 11:32:41 +0100
++
++libpng1.6 (1.6.52-1) unstable; urgency=medium
++
++  * New upstream versoin 1.6.52
++    - CVE-2025-66293 - Out of bound read (Closes: #1121877)
++
++ -- Tobias Frost <tobi@debian.org>  Thu, 04 Dec 2025 06:24:43 +0100
++
++libpng1.6 (1.6.51-1) unstable; urgency=high
++
++  * New upstream version 1.6.51.
++    - CVE-2025-64505 - Heap buffer overflow. Closes: #1121219
++    - CVE-2025-64506 - Heap buffer overread. Closes: #1121218
++    - CVE-2025-64720 - Buffer overflow. Closes: #1121217
++    - CVE-2025-65018 - Heap buffer. Closes: #1121216
++  * Enable salsa-ci.
++  * Update d/copyright years, remove unused section.
++  * udeb: install library into usr/lib 
++
++ -- Tobias Frost <tobi@debian.org>  Mon, 24 Nov 2025 21:06:25 +0100
++
++libpng1.6 (1.6.50-1) unstable; urgency=medium
++
++  * Upload to sid
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 10 Aug 2025 18:09:08 +0200
++
++libpng1.6 (1.6.50-1~exp1) experimental; urgency=medium
++
++  * New upstream version 1.6.50
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 10 Aug 2025 18:08:25 +0200
++
++libpng1.6 (1.6.49-1~exp1) experimental; urgency=medium
++
++  * New upstream version 1.6.49
++  * Update copyright file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 15 Jun 2025 11:32:25 +0200
++
++libpng1.6 (1.6.48-1) unstable; urgency=medium
++
++  * New upstream version 1.6.48
++  * Ack previous NMU, thanks a lot!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 05 May 2025 21:11:18 +0200
++
++libpng1.6 (1.6.47-1.1) unstable; urgency=high
++
++  * Non-maintainer upload.
++  * Restore dh_makeshlibs override to fix missing udeb line in shlibs.
++    (Closes: #1100477)
++
++ -- Cyril Brulebois <kibi@debian.org>  Fri, 14 Mar 2025 10:39:59 +0100
++
++libpng1.6 (1.6.47-1) unstable; urgency=medium
++
++  * New upstream version 1.6.47
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 21 Feb 2025 08:01:34 +0100
++
++libpng1.6 (1.6.46-4) unstable; urgency=medium
++
++  * Team upload.
++
++  [ Jeremy BĂ­cha ]
++  * Set dpkg-gensymbols check level to 4
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 01 Feb 2025 18:23:23 +0100
++
++libpng1.6 (1.6.46-3) unstable; urgency=medium
++
++  * Add a symbols file for easier maintenance of the package
++    and added symbols
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 01 Feb 2025 08:12:46 +0100
++
++libpng1.6 (1.6.46-2) unstable; urgency=medium
++
++  * Bump shlibs to 1.6.45 due to gtk4 test regression in cICP
++    https://gitlab.gnome.org/GNOME/gtk/-/issues/7275
++    (Closes: #1093335)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 31 Jan 2025 15:10:07 +0100
++
++libpng1.6 (1.6.46-1) unstable; urgency=medium
++
++  * New upstream version 1.6.46
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 27 Jan 2025 09:30:18 +0100
++
++libpng1.6 (1.6.45-1) unstable; urgency=medium
++
++  * New upstream version 1.6.45
++  * Refresh libpng-config.patch
++  * Update copyright years
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 08 Jan 2025 20:56:30 +0100
++
++libpng1.6 (1.6.44-3) unstable; urgency=medium
++
++  [ Gianfranco Costamagna ]
++  * Team upload
++
++  [ Helmut Grohne ]
++  * Disable VSX on legacy powerpc CPUs. (Closes: #1086389)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 10 Dec 2024 22:41:38 +0100
++
++libpng1.6 (1.6.44-2) unstable; urgency=low
++
++  * Switch packaging to cmake
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 17 Sep 2024 11:37:20 +0200
++
++libpng1.6 (1.6.44-1) unstable; urgency=medium
++
++  * New upstream version 1.6.44
++  * Update copyright file
++  * Bump std-version to 4.7.0
++  * Relax dependency on dpkg-dev, to ease backports
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 17 Sep 2024 09:56:14 +0200
++
++libpng1.6 (1.6.43-5) unstable; urgency=medium
++
++  * Fixup doc-base path (Closes: #1065063)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 28 Mar 2024 15:43:50 +0100
++
++libpng1.6 (1.6.43-4) unstable; urgency=medium
++
++  * Fixup udeb naming on shlibs file, making it installable again.
++    (Closes: #1066069)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 28 Mar 2024 12:38:28 +0100
++
++libpng1.6 (1.6.43-3) unstable; urgency=medium
++
++  * B-D on dpkg-dev (>= 1.22.5) (Closes: #1065259)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 02 Mar 2024 11:18:15 +0100
++
++libpng1.6 (1.6.43-2) unstable; urgency=medium
++
++  * Upload to sid
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 28 Feb 2024 12:12:53 +0100
++
++libpng1.6 (1.6.43-1exp1) experimental; urgency=medium
++
++  [ Steve Langasek ]
++  * Rename libraries for 64-bit time_t transition.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 26 Feb 2024 15:47:33 +0100
++
++libpng1.6 (1.6.43-1) unstable; urgency=medium
++
++  * New upstream version 1.6.43
++  * Add new license for contrib tool
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 26 Feb 2024 15:44:38 +0100
++
++libpng1.6 (1.6.42-1) unstable; urgency=medium
++
++  * New upstream version 1.6.42
++  * Update metadata location
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 30 Jan 2024 09:03:50 +0100
++
++libpng1.6 (1.6.41-1) unstable; urgency=medium
++
++  * New upstream version 1.6.41
++  * Bump copyright years
++  * Bump upstream copyright years
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 29 Jan 2024 17:49:45 +0100
++
++libpng1.6 (1.6.40-3) unstable; urgency=medium
++
++  * Update watch file for new github pnggroup location.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 03 Jan 2024 01:37:41 +0100
++
++libpng1.6 (1.6.40-2) unstable; urgency=medium
++
++  * bump std-version to 4.6.2
++  * Bump copyright years
++
++  [ Mathieu Malaterre ]
++  * Drop revision from symbols file (Closes: #1053753)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 10 Oct 2023 17:54:45 +0200
++
++libpng1.6 (1.6.40-1) unstable; urgency=medium
++
++  * New upstream version 1.6.40
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 24 Jun 2023 23:08:19 +0200
++
++libpng1.6 (1.6.39-2) unstable; urgency=medium
++
++  [ Helmut Grohne ]
++  * Support the noudeb build profile. (Closes: #1024944)
++
++  [ Gianfranco Costamagna ]
++  * Upload to sid
++
++ -- Helmut Grohne <helmut@subdivi.de>  Sun, 27 Nov 2022 20:59:26 +0100
++
++libpng1.6 (1.6.39-1) unstable; urgency=medium
++
++  * New upstream version 1.6.39. Fixes CVE-2019-6129.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 26 Nov 2022 15:21:15 +0100
++
++libpng1.6 (1.6.38-2) unstable; urgency=medium
++
++  * Add manpages to build
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 21 Sep 2022 14:46:45 +0200
++
++libpng1.6 (1.6.38-1) unstable; urgency=medium
++
++  * New upstream version 1.6.38
++  * Drop all patches, now upstream
++  * Refactor copyright file and bump copyright years
++  * Drop as-needed flag, now default
++  * Add not-installed file
++  * Move installexamples to libpng-dev.examples file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 21 Sep 2022 12:36:17 +0200
++
++libpng1.6 (1.6.37-5) unstable; urgency=medium
++
++  * debian/patches/eb6767273a4eb5d6f4ad528370d7262cf7aa220c.patch:
++    - cherry-pick upstream fix for memory lieak in png_handle_eXIf function
++      (LP: #1960326)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 25 Apr 2022 19:29:57 +0200
++
++libpng1.6 (1.6.37-4) unstable; urgency=medium
++
++  * Drop apng support, seems to break chromium ability to open
++    apng files (Closes: #1005850).
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 22 Apr 2022 18:48:37 +0200
++
++libpng1.6 (1.6.37-3) unstable; urgency=medium
++
++  [ Debian Janitor ]
++  * Wrap long lines in changelog entries: 1.2.5-5.
++
++  [ Gianfranco Costamagna ]
++  * debian/patches/326.patch:
++    - add upstream proposed patch to fix a decode fail with invalid eXIf
++      chunks (Closes: #969502)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 16 Sep 2020 08:02:32 +0200
++
++libpng1.6 (1.6.37-2) unstable; urgency=medium
++
++  [ Debian Janitor ]
++  * Set upstream metadata fields: Bug-Database, Repository, Repository-
++    Browse.
++  * Rely on pre-initialized dpkg-architecture variables.
++  * Fix day-of-week for changelog entry 1.0.0-0.1.
++  * Set upstream metadata fields: Bug-Submit.
++
++  [ Gianfranco Costamagna ]
++  * Bump std-version to 4.5.0, no changes required
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 07 Feb 2020 20:00:13 +0100
++
++libpng1.6 (1.6.37-1) unstable; urgency=medium
++
++  * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 02 Jul 2019 09:38:43 +0200
++
++libpng1.6 (1.6.37-1~exp4) experimental; urgency=medium
++
++  * debian/patches/72fa126446460347a504f3d9b90f24aed1365595.patch:
++    - cherry-pick upstream possible fix for tests not being parallel-safe
++      (Closes: #920657)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 23 Apr 2019 18:04:43 +0200
++
++libpng1.6 (1.6.37-1~exp3) experimental; urgency=medium
++
++  * Fix two lintian warnings:
++    - drop upstream signing key, upstream seems to have stopped tarball
++      signatures when moved to github (see upstream issue: #287)
++    - double "version" tag in debian/watch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 23 Apr 2019 13:15:04 +0200
++
++libpng1.6 (1.6.37-1~exp2) experimental; urgency=medium
++
++  * Simplify tests, by not passing the .libs directory during their
++    execution
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 15 Apr 2019 12:34:29 +0200
++
++libpng1.6 (1.6.37-1~exp1) experimental; urgency=medium
++
++  * New upstream version 1.6.37
++    - upload to experimental because of freeze
++  * Update watch file for github publish site
++  * Update copyright years and text for pngminus
++  * Drop all upstream patches, patch refresh for apng patch
++  * Bump compat level to 12
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 15 Apr 2019 10:36:39 +0200
++
++libpng1.6 (1.6.36-6) unstable; urgency=medium
++
++  * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 08 Apr 2019 10:55:25 +0200
++
++libpng1.6 (1.6.36-5exp1) experimental; urgency=medium
++
++  * Drop Anibal from uploaders list,
++    thank you for your nice work! (Closes: #925014)
++  * Update copyright years.
++  * Drop patch 272.patch, superseeded by upstream commits:
++    70d122aac42933ab8a708c538f973c3307853212.patch (uncommented)
++    82ae623ec9bc3cb5c68aad22596a766e86d593b7.patch
++    a627bd26a375f5c41d54f90a47c838157d1bec97.patch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 20 Mar 2019 11:58:35 +0100
++
++libpng1.6 (1.6.36-5) unstable; urgency=medium
++
++  * Tweak old 272 patch to add the only relevant part of commit
++    70d122aac42933ab8a708c538f973c3307853212.patch
++  * Drop 70d122aac42933ab8a708c538f973c3307853212.patch, it breaks the
++    testsuite.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 05 Feb 2019 12:54:50 +0100
++
++libpng1.6 (1.6.36-4) unstable; urgency=high
++
++  * debian/patches/70d122aac42933ab8a708c538f973c3307853212.patch,
++    debian/patches/8439534daa1d3a5705ba92e653eda9251246dd61.patch:
++    - new fixes for arm64 and general test failures (and leaks)
++  * debian/patches/CVE-2019-7317.patch:
++    - fix for CVE 2019-7317 (Closes: #921355)
++      Thanks Salvatore Bonaccorso for your report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 05 Feb 2019 11:43:24 +0100
++
++libpng1.6 (1.6.36-3) unstable; urgency=medium
++
++  * debian/patches/272.patch:
++    - upstream fix for arm64 test failures.
++    - drop previous revert-* patches
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 31 Dec 2018 09:24:07 +0100
++
++libpng1.6 (1.6.36-2) unstable; urgency=medium
++
++  * Update watch file for github location
++  * Add apng support, like what is done in arch linux
++    - https://github.com/glennrp/libpng/issues/267
++  * d/p/revert-{7734cda20cf1236aef60f3bbd2267c97bbb40869,
++    1ceaa83a844cd3ecef25279d60720f910b96f297,
++    b66ed711315c46ef6c556c83c0074ecdcbd9937f}.patch:
++    revert on arm64 only the chromebook optimizations, they are
++    making the build fail.
++    - discussion at https://github.com/glennrp/libpng/issues/266
++  [ Mattia Rizzolo ]
++  * Fixup std-version numbering
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 28 Dec 2018 14:13:52 +0100
++
++libpng1.6 (1.6.36-1) unstable; urgency=medium
++
++  * New upstream version 1.6.36
++  * update copyright file
++  * Bump std-version to 4.3.0.1, no changes required
++  * drop patch 8a057: upstream
++  * Add nocheck profile in rules file
++
++  [ OndĹ™ej NovĂ˝ <onovy@debian.org> ]
++  * d/changelog: Remove trailing whitespaces
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 27 Dec 2018 13:47:10 +0100
++
++libpng1.6 (1.6.34-2) unstable; urgency=medium
++
++  [ Salvatore Bonaccorso ]
++  * debian/patches/8a05766cb74af05c04c53e6c9d60c13fc4d59bf2.patch:
++    Closes: #903430
++    CVE-2018-13785
++
++  [ Gianfranco Costamagna ]
++  * Upload to unstable
++  * Switch VCS fields to salsa.d.o
++  * Bump std-version to 4.1.5, no changes required
++  * Switch copyright in https mode
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 10 Jul 2018 13:17:30 +0200
++
++libpng1.6 (1.6.34-1) unstable; urgency=medium
++
++  * New upstream version 1.6.34
++  * Remove files removed upstream (the failing png files)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 29 Sep 2017 18:54:51 +0200
++
++libpng1.6 (1.6.33-1) unstable; urgency=medium
++
++  * New upstream version 1.6.33
++  * Drop idat patch: upstream
++  * Update copyright
++  * Bump std-version to 4.1.1
++  * Remove some new test png files that make testsuite fail
++    (they fail also on older libpng version, just they weren't available
++     status is tracked at https://sourceforge.net/p/libpng/bugs/271/ )
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 29 Sep 2017 08:44:54 +0200
++
++libpng1.6 (1.6.32-3) unstable; urgency=high
++
++  * Fix invalid IDAT images, thanks Felix Geyer for the debug/bug reassign!
++    (Closes: #876563)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 26 Sep 2017 10:15:08 +0200
++
++libpng1.6 (1.6.32-2) unstable; urgency=medium
++
++  * Bump std-version to 4.1.0, now priority is extra
++  * Add missing newline on copyright entry, making lintian sad
++  * Move the examples into the main libpng-dev (Closes: #876244)
++    - thanks Helmut Grohne for the useful bug report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 17 Sep 2017 10:37:44 +0200
++
++libpng1.6 (1.6.32-1) unstable; urgency=medium
++
++  * New upstream version 1.6.32
++  * Update copyright file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 26 Aug 2017 23:43:31 +0200
++
++libpng1.6 (1.6.31-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Update d/watch to point to ftp site and to verify gpg signature.
++  * fix-arm-build.patch removed, fixed upstream.
++  * Update d/copyright (years and add new maintainers) and remove some
++    redudant entries.
++
++ -- Tobias Frost <tobi@debian.org>  Fri, 04 Aug 2017 07:10:47 +0200
++
++libpng1.6 (1.6.30-2) unstable; urgency=medium
++
++  * Fix arm* build failures with upstream patch
++    (Closes: #867670)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 09 Jul 2017 01:02:17 +0200
++
++libpng1.6 (1.6.30-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Update copyright
++  * Bump std-version to 4.0.0
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 08 Jul 2017 12:52:44 +0200
++
++libpng1.6 (1.6.29-3) unstable; urgency=medium
++
++  * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 12 Jun 2017 11:22:51 +0200
++
++libpng1.6 (1.6.29-2) experimental; urgency=medium
++
++  * Enable PIE eveywhere
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 22 Apr 2017 14:46:34 +0200
++
++libpng1.6 (1.6.29-1) experimental; urgency=medium
++
++  * New upstream release.
++    - Drop fix multiarch patch: upstream
++  * Use autoreconf.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 10 Apr 2017 08:39:26 +0200
++
++libpng1.6 (1.6.28-1exp4) experimental; urgency=medium
++
++  * Override autoreconf due to debhelper bug 844504
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 02 Mar 2017 16:29:47 +0100
++
++libpng1.6 (1.6.28-1exp3) experimental; urgency=medium
++
++  * No-autoreconf for cmake builds
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 02 Mar 2017 16:14:47 +0100
++
++libpng1.6 (1.6.28-1exp2) experimental; urgency=medium
++
++  * Readd multiarch patch, it was merged by
++    upstream on master but not on 1.6 branch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 02 Mar 2017 15:07:10 +0100
++
++libpng1.6 (1.6.28-1exp1) experimental; urgency=medium
++
++  * Switch to cmake
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 09 Jan 2017 19:53:06 +0100
++
++libpng1.6 (1.6.28-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 09 Jan 2017 19:50:31 +0100
++
++libpng1.6 (1.6.27-1) unstable; urgency=medium
++
++  * New upstream release (Closes: #849799)
++    - Fix for CVE-2016-10087
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 31 Dec 2016 08:51:32 +0100
++
++libpng1.6 (1.6.26-6) unstable; urgency=medium
++
++  * Enable pie in Debian, disable it in Ubuntu.
++    - thanks pochu :)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 08 Dec 2016 17:03:30 +0100
++
++libpng1.6 (1.6.26-5) unstable; urgency=medium
++
++  * Revert cmake switch, failing on arm64.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 07 Dec 2016 08:41:24 +0100
++
++libpng1.6 (1.6.26-4) unstable; urgency=low
++
++   * Upload to unstable.
++   * Disable pie where Ubuntu has not defaulted yet.
++     (armhf, arm64, powerpc)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 15 Nov 2016 20:50:40 +0100
++
++libpng1.6 (1.6.26-3) experimental; urgency=medium
++
++  * Switch to cmake.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 15 Nov 2016 20:50:40 +0100
++
++libpng1.6 (1.6.26-2) unstable; urgency=medium
++
++  * Enable full hardening (+pie) (Closes: #844429)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 15 Nov 2016 18:10:16 +0100
++
++libpng1.6 (1.6.26-1) unstable; urgency=low
++
++  * New upstream release.
++  * Switch to compat level 10
++    - Drop autoreconf/parallel, automatically injected
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 24 Oct 2016 19:36:32 +0200
++
++libpng1.6 (1.6.25-2) unstable; urgency=medium
++
++  * Mark the -tools package Multi-Arch: foreign.
++    (Closes: #840446).
++    Thanks Francois Gourget for the bug report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 11 Oct 2016 19:13:50 +0200
++
++libpng1.6 (1.6.25-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Tue, 06 Sep 2016 12:29:51 +0200
++
++libpng1.6 (1.6.24-2) unstable; urgency=medium
++
++  * Stop providing pngcp, because a tool with the same
++    name is provided by pngtools (Closes: #834119, #834118).
++    - Consider re-enabling it if ineeded, but for now the
++      tool has no manpage and no help command.
++    - An alternative might be to make pngtools and libpng-tools
++      conflict each others.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Fri, 12 Aug 2016 10:35:50 +0200
++
++libpng1.6 (1.6.24-1) unstable; urgency=medium
++
++  * New upstream release.
++    - install also new pngcp tool in libpng-tools package.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 11 Aug 2016 23:14:13 +0200
++
++libpng1.6 (1.6.23-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 15 Jun 2016 16:41:46 +0200
++
++libpng1.6 (1.6.22-1) unstable; urgency=medium
++
++  * New upstream release.
++    - drop fix_define_PNG_READ_16_TO_8.patch: upstream
++  * Update copyright file.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sun, 05 Jun 2016 23:41:22 +0200
++
++libpng1.6 (1.6.21-5) unstable; urgency=medium
++
++  * d/control: Add VCS-* to repository on collab-maint.
++  * Add patch to properly define PNG_READ_16_TO_8_SUPPORTED (Closes: #824014)
++  * Add d/gbp.conf to ensure signed tags.
++
++ -- Tobias Frost <tobi@debian.org>  Wed, 11 May 2016 19:30:16 +0200
++
++libpng1.6 (1.6.21-4) unstable; urgency=medium
++
++  * add libpng-config.patch from the old
++    src:libpng.
++    - disabling multiarch bits in libpng-config has
++      the "side-effect" to let us have a Multiarch libpng-dev package.
++      Closes: #822297
++  * Make the libpng-dev package Multiarch ready.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Sat, 23 Apr 2016 09:04:06 +0200
++
++libpng1.6 (1.6.21-3) unstable; urgency=medium
++
++  [ Manuel A. Fernandez Montecelo ]
++  * Add hardening flags (excluding PIE. CLoses: #805822)
++
++  [ Gianfranco Costamagna ]
++  * Drop useless pre-depends line.
++
++  [ Bart Martens ]
++  * Fix watch file
++
++  [ Laurent Bigonville ]
++  * Drop useless packages in Replaces field. (Closes: #820887)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 13 Apr 2016 08:49:30 +0200
++
++libpng1.6 (1.6.21-2) unstable; urgency=medium
++
++  * Upload to unstable.
++  * Add myself and Tobias to uploaders, as per maintainers
++    suggestion.
++  * Bump std-version to 3.9.8, no changes required.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 06 Apr 2016 17:26:38 +0200
++
++libpng1.6 (1.6.21-1) experimental; urgency=medium
++
++  * Team upload.
++  * New upstream release.
++  * Add upstream signing key
++  * Fix watch file.
++  * Update copyright file.
++  * Drop libpng16-devtools, useless and merged in libpng-dev.
++    (many packages relies on that script for building correctly)
++    - breaks + replaces accordingly.
++  * Remove multiarch -dev package
++  * Rename libpng16-tools to libpng-tools, there is no need of
++    strict versioning here.
++  * Install upstream changelog.
++  * Run upstream testsuite.
++  * Remove README.* files, useless now.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Thu, 31 Mar 2016 14:43:03 +0200
++
++libpng1.6 (1.6.20-3) experimental; urgency=medium
++
++  * Team upload
++  * Move libpng16-dev to libpng-dev, to ease next transitions.
++  * Drop conflicts against mzscheme, pngcrush, pngmeta,
++    povray-3.5, qemacs, some of them disappeared, some of
++    them have later versions already in old-oldstable.
++  * Simplify even more the packaging, probably fixing #813288
++  * Fix symlinks, and two lintian errors:
++    - library-in-root-and-usr
++    - old-style-config-script-multiarch-path
++      (multiarch: no for libpng16-devtools)
++  * Update standard-version to 3.9.7, no changes required.
++  * Switch to dh-autoreconf (Closes: #813027)
++  * Remove libpng16-devtools circular dependency, recommend it instead.
++  * Fix duplicate description lintian warning
++  * Fix copyright lintian warnings
++  * Remove copyright.in file
++  * Use new plain dh calls in rules file
++  * Remove some old lintian overrides.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org>  Wed, 16 Mar 2016 17:05:08 +0100
++
++libpng1.6 (1.6.20-2) experimental; urgency=medium
++
++  [ Tobias Frost ]
++  * libpng16-16-udeb should not Conflicts: libpng-12-0.
++
++  [ Anibal Monsalve Salazar ]
++  * debhelper compat version is 9.
++  * debian/control: libpng16-devtools is "Multi-Arch: same".
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 28 Jan 2016 10:33:54 +0000
++
++libpng1.6 (1.6.20-1.1) experimental; urgency=medium
++
++  * Non-maintainer upload.
++  * Preparation for the transition, going to experimental.
++  * Make libpng16-dev depend on libpng16-devtools to have libpng-config
++    pulled in automatically for reverse dependencies.
++  * Provide a so-name neutral devtools package
++
++ -- Tobias Frost <tobi@debian.org>  Sun, 24 Jan 2016 11:26:12 +0100
++
++libpng1.6 (1.6.20-1) experimental; urgency=medium
++
++  * New upstream release.
++    Fix CVE-2015-8472.
++    Closes: #810074.
++  * Use default options to compress.
++    Remove debian/source/options.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 07 Jan 2016 23:35:21 +0000
++
++libpng1.6 (1.6.19-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Update lintian-overrides for 1.6.19.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 18 Nov 2015 13:07:21 +0900
++
++libpng1.6 (1.6.16-1) experimental; urgency=medium
++
++  * New upstream release (Closes: #773823)
++    Fix CVE-2015-8540.
++  * Standards Version is 3.9.6.
++  * Update debian/copyright.
++    Add infomation of license for other all files.
++  * Update lintian-overrides for 1.6.16.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 07 Mar 2015 18:33:32 +0900
++
++libpng1.6 (1.6.10-2) experimental; urgency=low
++
++  * Add libpng16-devtools package.
++    Move libpng-config to this package.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 02 Apr 2014 09:16:13 +0900
++
++libpng1.6 (1.6.10-1) experimental; urgency=low
++
++  * New upstream release (Closes: #740585)
++    Fixed CVE-2014-0333.
++  * Update overrides files.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Sat, 22 Mar 2014 09:58:12 +0900
++
++libpng1.6 (1.6.8-2) experimental; urgency=low
++
++  * Update debian/copyright. (Closes: #735737)
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 21 Jan 2014 08:59:56 +0900
++
++libpng1.6 (1.6.8-1) experimental; urgency=low
++
++  * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 15 Jan 2014 13:10:28 +0900
++
++libpng1.6 (1.6.7-1) experimental; urgency=low
++
++  * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Tue, 14 Jan 2014 15:21:52 +0900
++
++libpng (1.5.11-1) experimental; urgency=low
++
++  * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 05 Jul 2012 13:18:14 +0900
++
++libpng (1.5.10-3) experimental; urgency=low
++
++  * Remove libpng12-dev binary package. libpng-dev provides and replaces
++    libpng12-dev.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 19 May 2012 18:55:25 +1000
++
++libpng (1.5.10-2) experimental; urgency=low
++
++  * Add transition packages libpng3, libpng12-0 and libpng12-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 18 May 2012 10:09:24 +1000
++
++libpng (1.5.10-1) experimental; urgency=high
++
++  * New upstream version 1.5.10
++    - Fix CVE-2011-3048 (memory corruption flaw)
++      Closes: 667475
++  * Standards Version is 3.9.3
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 09 Apr 2012 13:29:39 +1000
++
++libpng (1.5.9-1) experimental; urgency=low
++
++  * New upstream version 1.5.9
++
++    The purpose of this release is to fix the dangerous CVE-2011-3026.
++    The libpng patch is different from the one that was distributed
++    earlier by Chromium, in that the libpng user limit feature is not
++    crippled by the patch.
++
++    Remove 02-660026-CVE-2011-3026.patch
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 19 Feb 2012 12:22:43 +1100
++
++libpng (1.5.8-1) experimental; urgency=high
++
++  * New upstream release.
++    Fix a one-byte (stack) buffer-overrun bug in
++    png_formatted_warning(), which could lead to crashes (denial of
++    service) or, conceivably, execution of hostile code.
++    This vulnerability has been assigned ID CVE-2011-3464.
++  * Check for both truncation (64-bit platforms) and integer overflow
++    Fix CVE-2011-3026
++    Add 02-660026-CVE-2011-3026.patch
++    Closes: 660026
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 16 Feb 2012 09:18:13 +1100
++
++libpng (1.5.7-2) experimental; urgency=low
++
++  * Fix typo from PPFLAGS to CPPFLAGS.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 09 Jan 2012 21:39:33 +0900
++
++libpng (1.5.7-1) experimental; urgency=low
++
++  * New upstream release.
++  * Update debian/rules.
++    Enabled hardened build flags. (Closes: #654149)
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 09 Jan 2012 21:02:50 +0900
++
++libpng (1.5.6-1) experimental; urgency=low
++
++  * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Mon, 07 Nov 2011 12:35:59 +0900
++
++libpng (1.5.5-1) experimental; urgency=low
++
++  * New upstream release.
++  * Fix lintian error: udeb-uses-non-gzip-data-tarball.
++    Changed option of dh_builddeb for every package.
++  * Fix lintian warning: brace-expansion-in-debhelper-config-file.
++    Remove brace-expansion from debian/libpng-dev.install.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Wed, 26 Oct 2011 12:35:05 +0900
++
++libpng (1.5.4-2) experimental; urgency=low
++
++  * Port Steve Langasek's changes for 1.2.46-1
++    - Build for multiarch. Closes: 634151
++    - Drop debian/libpng15-15-udeb.dirs, which just adds a pointless empty
++      directory to the udeb
++  * Update debian/docs and debian/libpng15-15.docs
++  * Add debian/libpng15-15.doc-base
++  * Build-Depend on autotools-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Tue, 19 Jul 2011 00:49:57 +1000
++
++libpng (1.2.46-2) unstable; urgency=low
++
++  [ Steve Langasek ]
++  * Build for multiarch.  Requires converting libpng3 from Arch: all to
++    Arch: any. Closes: 634151
++  * Drop debian/libpng12-0-udeb.dirs, which just adds a pointless empty
++    directory to the udeb.
++
++  [ Anibal Monsalve Salazar ]
++  * Fix doc-base file
++    Closes: 633944, 633957, 634120
++  * Pass "-Zbzip2 -z9" to dpkg-deb
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 18 Jul 2011 23:38:25 +1000
++
++libpng (1.5.4-1) experimental; urgency=low
++
++  * New upstream release (Closes: #633871).
++    - Fix CVE: CVE-2011-2690
++      Buffer overwrite in png_rgb_to_gray
++    - CVE: CVE-2011-2691
++      Crash in png_default_error due to use of NULL Pointer
++    - CVE: CVE-2011-2692
++      Memory corruption when handling empty sCAL chunks
++    - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 15 Jul 2011 12:01:42 +0900
++
++libpng (1.2.46-1) unstable; urgency=high
++
++  * New upstream release (Closes: #633871).
++    - Fix CVE: CVE-2011-2690
++      Buffer overwrite in png_rgb_to_gray
++    - CVE: CVE-2011-2691
++      Crash in png_default_error due to use of NULL Pointer
++    - CVE: CVE-2011-2692
++      Memory corruption when handling empty sCAL chunks
++    - Update patches/01-legacy.patch
++    - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Fri, 15 Jul 2011 11:47:49 +0900
++
++libpng (1.5.2-3) experimental; urgency=low
++
++  * Rename libpng15-dev to libpng-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 06 Jul 2011 13:14:03 +1000
++
++libpng (1.5.2-2) experimental; urgency=low
++
++  * Fix 1-byte uninitialized memory reference in png_format_buffer()
++    Fix CVE-2011-2501
++    Add debian/patches/02-632786-CVE-2011-2501.patch
++    Closes: 632786
++  * Pass "-Zbzip2 -z9" to dpkg-deb
++  * Fix xc-package-type-in-debian-control
++  * Fix debian-rules-missing-recommended-target
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 06 Jul 2011 11:27:05 +1000
++
++libpng (1.2.44-3) unstable; urgency=high
++
++  * Fix 1-byte uninitialized memory reference in png_format_buffer()
++    Fix CVE-2011-2501
++    Add debian/patches/02-632786-CVE-2011-2501.patch
++    Closes: 632786
++  * Standards version is 3.9.2
++  * Fix xc-package-type-in-debian-control
++  * Fix debian-rules-missing-recommended-target
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 06 Jul 2011 10:04:32 +1000
++
++libpng (1.5.2-1) experimental; urgency=low
++
++  * New upstream release (Closes: #565821, #574257, #606867).
++  * Remove Sam Hocevar from Uploaders.
++  * Add myself to Uploaders.
++  * Remove libtool, automake and autoconf from Build-depends.
++  * Disable practice of autogen.sh from debian/rules.
++  * Remove support libpng3 package (Closes: #369104, #615558).
++  * Update debian/copyright.
++    - Update copyright holder.
++    - Add new license for contrib/pngsuite (Closes: #615558).
++  * Remove patches directory.
++  * Add libpng15-dev.lintian-overrides.
++    Overrides manpage-has-errors-from-man usr/share/man/man3/libpng.3.gz.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org>  Thu, 09 Jun 2011 21:37:11 +0900
++
++libpng (1.2.44-2) unstable; urgency=low
++
++  * debian/libpng3.links: fix up the compat symlink to point to /lib
++    Patch by Steve Langasek
++    Closes: #579074, LP: #284325
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 13 Mar 2011 14:40:33 +1100
++
++libpng (1.2.44-1) unstable; urgency=low
++
++  * New upstream release
++    Stop memory leak when reading a malformed sCAL chunk
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 26 Jun 2010 13:32:43 +1000
++
++libpng (1.2.43-1) unstable; urgency=high
++
++  * New upstream release
++  * Fix CVE-2010-0205 and Cert VU#576029
++    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0205
++    https://www.kb.cert.org/vuls/id/576029
++    Do not stall and consume large quantities of memory while processing
++    certain Portable Network Graphics (PNG) files
++    Closes: 572308
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 03 Mar 2010 16:44:47 +1100
++
++libpng (1.2.42-2) unstable; urgency=low
++
++  * Merge 1.2.42-1ubuntu1
++    Move libpng from /usr/lib to /lib, so that plymouth is usable on
++    systems with a separate /usr.
++  * Fix out-of-date-standards-version
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 14 Feb 2010 13:09:51 +1100
++
++libpng (1.2.42-1ubuntu1) lucid; urgency=low
++
++  * Merge from Debian testing.  Remaining changes:
++    - Move libpng from /usr/lib to /lib, so that plymouth is usable on
++      systems with a separate /usr.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com>  Thu, 28 Jan 2010 11:57:34 +0000
++
++libpng (1.2.42-1) unstable; urgency=low
++
++  * New upstream release
++  * Remove 02-export-png_set_strip_error_numbers.patch (merged)
++  * Fix debhelper-but-no-misc-depends
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 16 Jan 2010 17:53:14 +1100
++
++libpng (1.2.41-1ubuntu1) lucid; urgency=low
++
++  * Move libpng from /usr/lib to /lib, so that plymouth is usable on systems
++    with a separate /usr.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 25 Jan 2010 00:18:15 -0800
++
++libpng (1.2.41-1) unstable; urgency=low
++
++  * New upstream release
++  * Debian source format is 3.0 (quilt)
++  * Update debian/watch
++  * Add 02-export-png_set_strip_error_numbers.patch
++    Define PNG_ERROR_NUMBERS_SUPPORTED
++    Upstream doesn't define PNG_ERROR_NUMBERS_SUPPORTED since 1.2.41. As
++    a consecuence, the symbol png_set_strip_error_numbe@@PNG12_0 wasn't
++    exported.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 04 Dec 2009 11:23:50 +1100
++
++libpng (1.2.40-1) unstable; urgency=low
++
++  * New upstream release
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 07 Oct 2009 12:44:09 +1100
++
++libpng (1.2.39-1) unstable; urgency=low
++
++  * New upstream release
++  * Fix out-of-date-standards-version
++  * Fix patch-system-but-no-source-readme
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 20 Aug 2009 14:57:46 +1000
++
++libpng (1.2.38-1) unstable; urgency=low
++
++  * New upstream release
++  * Fix out-of-date-standards-version
++  * Update upstream homepage
++    Closes: 536474
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 18 Jul 2009 05:44:23 +1000
++
++libpng (1.2.37-1) unstable; urgency=low
++
++  * New upstream release
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 04 Jun 2009 23:03:58 +1000
++
++libpng (1.2.36-1) unstable; urgency=low
++
++  * New upstream release
++  * Standards-Version is 3.8.1
++  * debhelper compat is 7
++  * Run dh_prep instead of dh_clean -k
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 22 May 2009 09:11:26 +1000
++
++libpng (1.2.35-1) unstable; urgency=high
++
++  * New upstream release
++    - http://secunia.com/advisories/33970/
++      Fix a vulnerability reported by Tavis Ormandy in which
++      some arrays of pointers are not initialized prior to using
++      "malloc" to define the pointers.
++      Closes: #516256
++    - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5907
++      The png_check_keyword function in pngwutil.c in libpng, might
++      allow context-dependent attackers to set the value of an
++      arbitrary memory location to zero via vectors involving
++      creation of crafted PNG files with keywords, related to an
++      implicit cast of the '\0' character constant to a NULL pointer.
++  * Don't build libpng3 when binary-indep target is not called.
++    Closes: #486415
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 21 Feb 2009 15:50:52 +1100
++
++libpng (1.2.33-2) unstable; urgency=low
++
++  * Fix the following lintian issues:
++    W: libpng12-0: copyright-refers-to-versionless-license-file
++       usr/share/common-licenses/GPL
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 16 Feb 2009 11:32:17 +1100
++
++libpng (1.2.33-1) experimental; urgency=low
++
++  * New upstream release
++    - Fix memory leak after reading a malformed tEXt chunk
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 01 Nov 2008 17:21:56 +1100
++
++libpng (1.2.32-1) experimental; urgency=low
++
++  * New upstream release
++    - libpng.pc is configured to do static linking; closes: #483477
++    - use autoconf variables in .pc and libpng-config; closes: #483478
++  * Remove debian/patches/02-501109-pngtest.c.diff; it was merged
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 05 Oct 2008 08:20:20 +1100
++
++libpng (1.2.27-2) unstable; urgency=medium
++
++  * Fix CVE-2008-3964: off-by-one error in pngtest.c; closes: #501109
++  * Standards-Version is 3.8.0
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 04 Oct 2008 19:45:17 +1000
++
++libpng (1.2.27-1) unstable; urgency=low
++
++  * New upstream release
++  * Patches merged upstream:
++    debian/patches/02-476669-CVE-2008-1382.diff
++    debian/patches/03-404514-png.5.diff
++  * Run ./autogen.sh
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Tue, 29 Apr 2008 17:22:16 +1000
++
++libpng (1.2.26-1) unstable; urgency=high
++
++  * New upstream release. Closes: #431202
++  * Use quilt
++    Add 01-legacy.diff
++  * Fix CVE-2008-1382 denial of service and possibly code execution
++    Add 02-476669-CVE-2008-1382.diff
++    Closes: #476669
++  * Fix URL in png.5. Closes: #404514
++    Add 03-404514-png.5.diff
++  * Move examples to libpng12-dev. Closes: #401467
++  * Fix "libpng (<= 1.2.20) contains grey-licensed code". Closes: #469126
++  * Fix the following lintian issues:
++    W: libpng source: debian-rules-ignores-make-clean-error line 37
++    W: libpng source: substvar-source-version-is-deprecated libpng12-dev
++    W: libpng source: out-of-date-standards-version 3.7.2 (current is 3.7.3)
++    W: libpng12-0-udeb udeb: description-contains-homepage
++    W: libpng3: description-contains-homepage
++    W: libpng12-dev: description-contains-homepage
++    W: libpng12-0: package-contains-empty-directory usr/bin/
++    W: libpng12-0: package-contains-empty-directory usr/sbin/
++    W: libpng12-0: description-contains-homepage
++    W: libpng12-0: doc-base-unknown-section libpng12:22 Apps/Programming
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 20 Apr 2008 18:22:32 +1000
++
++libpng (1.2.15~beta5-3) unstable; urgency=high
++
++  * ACKed NMU.
++  * Fixed out-of-bounds read operations triggered by crafted
++    png image files (CVE-2007-5269) (Closes: #446308).
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 14 Oct 2007 09:55:00 +1000
++
++libpng (1.2.15~beta5-2.1) unstable; urgency=high
++
++  * Non-maintainer upload by testing security team.
++  * Fixed out-of-bounds read operations triggered by crafted
++    png image files (CVE-2007-5269) (Closes: #446308).
++
++ -- Nico Golde <nion@debian.org>  Sun, 14 Oct 2007 01:12:51 +0200
++
++libpng (1.2.15~beta5-2) unstable; urgency=high
++
++  * It seems that a grayscale image with a malformed (bad CRC) tRNS
++    chunk will crash libpng and mozilla. Closes: #424729.
++    - CVE-2007-2445
++      http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2445
++    - CERT Vulnerability Note VU#684664
++      http://www.kb.cert.org/vuls/id/684664
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 09 May 2007 17:34:02 +1000
++
++libpng (1.2.15~beta5-1) unstable; urgency=low
++
++  * Applied legacy_symbols.patch.
++  * Changed shlibs dependecy versions to ">= 1.2.13-4".
++  * libpng12-0: Added the following conflicts: mzscheme (<= 1:209-5),
++    pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), qemacs (<= 0.3.1-5),
++    povray-3.5 (<= 3.5.0c-10).
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Wed, 20 Dec 2006 10:24:18 +1100
++
++libpng (1.2.15~beta5-0) unstable; urgency=high
++
++  * New upstream release.
++    - Fixed asm API functions not exported on amd64. Closes: #401044.
++    - Fixed "libpng hangs when saving profile". Closes: #401423.
++  * Fixed "Incorrect shlibs information". Closes: #401465.
++  * Removed patches for png.h and pngconf.h.
++  * Updated debian/watch.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 03 Dec 2006 14:47:41 +1100
++
++libpng (1.2.13-4) unstable; urgency=low
++
++  * Removed drop_pass_width patch. Closes: #399499.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Tue, 21 Nov 2006 19:07:43 +1100
++
++libpng (1.2.13-3) unstable; urgency=low
++
++  * libpng12-dev: removed the conflict with libpng3-dev.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 19 Nov 2006 16:36:02 +1100
++
++libpng (1.2.13-2) unstable; urgency=low
++
++  * Put back binary package libpng3.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 19 Nov 2006 15:32:39 +1100
++
++libpng (1.2.13-1) unstable; urgency=low
++
++  * Fixed conflict with the new libpng package. Closes: #399296.
++  * Fixed png.5 man page formatting. Closes: #353061.
++    Patch by Kevin Ryde <user42@zip.com.au>.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 19 Nov 2006 13:55:17 +1100
++
++libpng (1.2.13-0) unstable; urgency=high
++
++  * New upstream release.
++  * CVE-2006-5793: Fixed a new security issue regarding malformed
++    sPLT chunks. Closes: #398706.
++  * Transitional package libpng3 is not shipped anymore.
++    Closes: #369104.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 19 Nov 2006 09:02:09 +1100
++
++libpng (1.2.12-0) unstable; urgency=high
++
++  * New upstream release. Closes: #366070.
++  * CVE-2006-3334: Fixed Buffer overflow in the png_decompress_chunk
++    function in pngrutil.c in libpng before 1.2.12 allows
++    context-dependent attackers to cause a denial of service and
++    possibly execute arbitrary code via unspecified vectors related
++    to "chunk error processing," possibly involving the "chunk_name".
++    Closes: #397892.
++  * Removed debian/x86_patches/pnggccrd-PIC.patch as it's merged
++    upstream.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 09 Nov 2006 19:25:08 +1100
++
++libpng (1.2.8rel-7) unstable; urgency=low
++
++  * New maintainer. Closes: #393109.
++  * ACK NMUs. Closes: #378463, #377298, #356252.
++  * debian/control:
++    - set Standards-Version to 3.7.2.
++    - set Priority to extra for libpng12-0-udeb.
++    - added ${misc:Depends} to libpng12-0 and libpng12-0-udeb
++      dependency lists.
++  * Added debian/watch file.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 16 Oct 2006 17:34:58 +1000
++
++libpng (1.2.8rel-6) unstable; urgency=low
++
++  * Orphaning package.
++
++ -- Josselin Mouette <joss@debian.org>  Sun, 15 Oct 2006 03:22:24 +0200
++
++libpng (1.2.8rel-5.2) unstable; urgency=low
++
++  * Non-maintainer upload.
++  * Backport changes from 1.2.12 to fix a buffer overflow in
++    png_decompress_chunk; patch by Alec Berryman. [CVE-2006-3334]
++    (Closes: #377298)
++
++ -- Steinar H. Gunderson <sesse@debian.org>  Sun, 16 Jul 2006 16:27:56 +0200
++
++libpng (1.2.8rel-5.1) unstable; urgency=low
++
++  * Non Maintainer Upload (closes: #356252).
++  * Add support for udeb dependency resolution in shlibs file.
++  * Update debhelper compatibility to level 5.
++
++ -- Frans Pop <fjp@debian.org>  Thu, 30 Mar 2006 11:46:39 +0200
++
++libpng (1.2.8rel-5) unstable; urgency=low
++
++  * drop_pass_width.patch: don't export png_pass_width, it's absolutely
++    unnecessary.
++  * libpng12-0.shlibs: downgrade the shlibs accordingly
++    (closes: #331383).
++
++ -- Josselin Mouette <joss@debian.org>  Mon,  3 Oct 2005 20:18:43 +0200
++
++libpng (1.2.8rel-4) unstable; urgency=low
++
++  * makefile.patch:
++    + Use PNG_PRIVATE to get the list of private symbols as well. It
++      sucks, but they've been there for too long (closes: #329886).
++    + Use mawk instead of awk (closes: #329812).
++  * control: build-depend on mawk.
++  * rules:
++    + Use -O2, not -O3.
++    + Actually run the tests.
++    + Make use of x86_patches/ on x86 architectures.
++  * x86_patches/mmxbuild.patch: build MMX routines in pnggccrd.c.
++  * x86_patches/pnggccrd-PIC.patch: patch from Christian Aichinger
++    to make the assembly routines PIC-compatible.
++  * libpng12-0.shlibs: bump the shlibs version.
++
++ -- Josselin Mouette <joss@debian.org>  Sun, 25 Sep 2005 15:25:34 +0200
++
++libpng (1.2.8rel-3) unstable; urgency=low
++
++  * Upload to unstable.
++  * Rename the source package to libpng.
++
++ -- Josselin Mouette <joss@debian.org>  Thu, 22 Sep 2005 18:24:37 +0200
++
++libpng3 (1.2.8rel-2) experimental; urgency=low
++
++  * makefile.patch:
++    + now patch makefile.elf, so that only public symbols are truly
++      exported.
++    + shorten the differences as much as possible.
++  * rules: use makefile.elf now.
++  * Move libpng3 to oldlibs.
++  * Entirely remove libpng3-dev, making libpng12-dev provide it
++    (closes: #322051).
++  * poynton.patch: correct Charles Poynton's address (closes: #289437).
++  * Don't run the test when cross-building (closes: #285427).
++  * setjmp_error.patch: don't stop when we are not using _BSD_SOURCE, as
++    in this case this is harmless (closes: #299343).
++  * libpng3.postinst: removed, the fix is in sarge.
++  * Standards-version is 3.6.2.
++  * legacy_symbols.patch: still export png_read_destroy and
++    png_write_destroy, which are deprecated but should nevertheless be
++    accessible.
++
++ -- Josselin Mouette <joss@debian.org>  Tue, 13 Sep 2005 02:07:16 +0200
++
++libpng3 (1.2.8rel-1) unstable; urgency=medium
++
++  * New upstream release.
++  * read_transformations.patch: removed, included upstream.
++  * libpng12-0.shlibs: Update to version 1.2.8rel, new flags seem to have been
++    added.
++
++ -- Josselin Mouette <joss@debian.org>  Sat,  4 Dec 2004 15:54:53 +0100
++
++libpng3 (1.2.8beta5-2) unstable; urgency=medium
++
++  * read_transformations.patch: fix segmentation fault with latex
++    (closes: #281789) and totem (closes: #278618).
++
++ -- Josselin Mouette <joss@debian.org>  Thu, 25 Nov 2004 16:49:28 +0100
++
++libpng3 (1.2.8beta5-1) unstable; urgency=medium
++
++  * New upstream release.
++    + Correct segmentation violation in png_combine_row.
++      Closes: #278526, #278917, #278921, #279258, #281789, #282368.
++
++ -- Josselin Mouette <joss@debian.org>  Wed, 24 Nov 2004 13:53:49 +0100
++
++libpng3 (1.2.7-1) unstable; urgency=medium
++
++  * New upstream release (closes: #278308).
++  * libpng12-0.shlibs: update shlibs to version 1.2.7.
++  * Remove all security fixed, they are included upstream.
++
++ -- Josselin Mouette <joss@debian.org>  Tue, 26 Oct 2004 13:40:25 +0200
++
++libpng3 (1.2.5.0-9) unstable; urgency=high
++
++  * CAN-2004-0954.patch: removed, this is already fixed in
++    CAN-2004-0597_0598_0599.patch.
++
++ -- Josselin Mouette <joss@debian.org>  Tue, 19 Oct 2004 10:52:28 +0200
++
++libpng3 (1.2.5.0-8) unstable; urgency=high
++
++  * Switch to CDBS.
++    + Ship modifications and security fixes in debian/patches.
++    + debian/rules: rewritten.
++    + debian/control: build-depend on cdbs.
++    + debian/libpng12-0.shlibs: new.
++  * setjmp_error.patch: port explanation of the error when including setjmp.h
++    from libpng10, thanks Matijs van Zuijlen <Matijs.van.Zuijlen@xs4all.nl>
++    (closes: #273473).
++  * CAN-2004-0954.patch: fix buffer overflow vulnerability in
++    png_handle_tRNS().
++  * CAN-2004-0955.patch: fix integer arithmetic overflow vulnerability in
++    png_read_png().
++
++ -- Josselin Mouette <joss@debian.org>  Thu, 14 Oct 2004 20:06:08 +0200
++
++libpng3 (1.2.5.0-7) unstable; urgency=high
++
++  * pngrtran.c: applied upstream patch 4 to fix incorrect calculation of
++    buffer offsets [CAN-2004-0768].
++  * png.h, pngpread.c, pngrutil.c: patch from Chris Evans
++    <chris@scary.beasts.org> to fix several vulnerabilities (closes: #263500):
++    + libpng fails to properly check length on PNG data [CAN-2004-0597].
++    + libpng "png_handle_sBIT" does not perform proper checks to avoid stack
++      buffer overflow [CAN-2004-0597].
++    + libpng "png_handle_iCCP" possible NULL-pointer crash
++      [CAN-2004-0598].
++    + libpng "png_handle_sPLT" possible integer overflow
++      [CAN-2004-0599].
++    + libpng "png_read_png" does not properly handle a PNG with excessive
++      height (integer overflow) [CAN-2004-0599].
++    + libpng progressive reading integer overflow [CAN-2004-0599].
++
++ -- Josselin Mouette <joss@debian.org>  Thu,  5 Aug 2004 12:37:32 +0200
++
++libpng3 (1.2.5.0-6) unstable; urgency=high
++
++  * pngerror.c: applied patch by Steve Grubb <linux_4ever@yahoo.com> to
++    fix unintended memory access that could result in a crash of the
++    application linking against libpng [CAN-2004-0421].
++
++ -- Josselin Mouette <joss@debian.org>  Tue, 20 Apr 2004 13:39:02 +0200
++
++libpng3 (1.2.5.0-5) unstable; urgency=low
++
++  * Use debhelper 4.2, which generates the udeb appropriately.
++  * Update control and rules appropriately.
++  * Don't use ${shlibs:Depends} for the udeb, rather write the
++    dependencies by hand.
++  * Standards-version is 3.6.1.
++
++ -- Josselin Mouette <joss@debian.org>  Fri, 20 Feb 2004 19:23:05 +0100
++
++libpng3 (1.2.5.0-4) unstable; urgency=low
++
++  * scripts/makefile.linux: use versioned dependencies
++    (closes: #155891).
++  * debian/rules: bump dependency for dh_makeshlibs.
++  * add the libpng.a link in libpng12-dev.
++  * Rework scripts/makefile.linux to make it more consistent.
++  * Update stuff in debian/ accordingly.
++  * Updated README.Debian.
++
++ -- Josselin Mouette <joss@debian.org>  Tue, 10 Jun 2003 18:14:32 +0200
++
++libpng3 (1.2.5.0-3) unstable; urgency=low
++
++  * Make libpng3{,-dev} depend on libpng12-{0,dev} >= 1.2.5.0-2 instead
++    of the strict source version.
++  * Move /usr/share/doc/libpng3{,-dev} into symlinks at postinst time
++    when directories already exist.
++  * debian/rules: install correctly doc-base stuff.
++  * debian/libpng12-dev.doc-base: updated URIs.
++
++ -- Josselin Mouette <joss@debian.org>  Tue,  6 May 2003 19:44:59 +0200
++
++libpng3 (1.2.5.0-2) unstable; urgency=low
++
++  * scripts/{makefile.linux,libpng-config-body.in}: correct the
++    libpng12-config script.
++  * Install correctly pkg-config stuff (closes: #191081).
++  * Make libpng12-dev conflict explicitly with libpng12-0-dev.
++  * Update README.Debian.
++
++ -- Josselin Mouette <joss@debian.org>  Mon, 28 Apr 2003 19:42:15 +0200
++
++libpng3 (1.2.5.0-1) unstable; urgency=low
++
++  * New maintainer.
++  * Use real upstream tarball from 1.2.5 release.
++  * Use dpkg-source's way instead of dpatch for patching.
++  * A bit of rework in debian/rules, use dh_install and debhelper 4.
++  * Standards-version is 3.5.9.
++  * The -dev package is now named libpng12-dev (stop using the
++    libpkg-guide way).
++  * libpng3 is now arch-independent.
++  * Improved descriptions a bit.
++  * Don't supply libpngpf.3, it is not useful to programmers.
++
++ -- Josselin Mouette <joss@debian.org>  Wed, 16 Apr 2003 18:41:02 +0200
++
++libpng3 (1.2.5-11) unstable; urgency=low
++
++  * Add udeb (closes: #174842)
++  * Add missing section on source files.
++
++ -- Junichi Uekawa <dancer@debian.org>  Mon, 31 Mar 2003 00:28:06 +0900
++
++libpng3 (1.2.5-10) unstable; urgency=low
++
++  * Rebuild with d-shlibs with fixed "libgcc_s1-dev" handling (for gcc-3.2).
++  (closes: #178070), build-depend on d-shlibs 0.10 or greater.
++
++ -- Junichi Uekawa <dancer@debian.org>  Fri, 24 Jan 2003 12:23:35 +0900
++
++libpng3 (1.2.5-9) unstable; urgency=low
++
++  * Use dpatch for patch system -- divide Debian patch, and security fix patch.
++  * Standards-Version: 3.5.8
++  * add manual page libpng-config.1 and libpng12-config.1
++
++ -- Junichi Uekawa <dancer@debian.org>  Wed, 15 Jan 2003 17:55:17 +0900
++
++libpng3 (1.2.5-8) unstable; urgency=low
++
++  * Sorry folks, I made a mistake.
++  * Forward-port of patch from the Security Team,
++  really apply what was there. (closes: #172868,#172871)
++
++ -- Junichi Uekawa <dancer@debian.org>  Fri, 13 Dec 2002 16:12:01 +0900
++
++libpng3 (1.2.5-7) unstable; urgency=high
++
++  * Forward-port of patch from the Security Team
++  * Applied patch to pngrtran.c by Glenn Randers-Pehrson
++    <glennrp@comcast.net> to fix a buffer overrun.
++
++ -- Junichi Uekawa <dancer@debian.org>  Thu, 12 Dec 2002 20:36:28 +0900
++
++libpng3 (1.2.5-6) unstable; urgency=low
++
++  * Typo in scripts/makefile.linux.
++  Mistake. -lz and -lm weren't happening.
++  * Change LDFLAGS to not list -lz -lm, so that testsuite will catch such error.
++  * set prefix=/usr/ in scripts/makefile.linux, since it was set to usr/local.
++
++ -- Junichi Uekawa <dancer@debian.org>  Wed, 30 Oct 2002 20:54:54 +0900
++
++libpng3 (1.2.5-5) unstable; urgency=low
++
++  * scripts/makefile.linux: LIBADDFLAGS introduced, for shared library lib
++    additional
++  flags, and use that for shared library.
++  - this should fix build failure (closes: #166704)
++  Thanks Daniel Schepler <schepler@math.berkeley.edu> for reporting.
++  * updated copyright file to note that libpng3 in Debian is patched to
++  link with -lz -lm.
++
++ -- Junichi Uekawa <dancer@debian.org>  Mon, 28 Oct 2002 12:25:57 +0900
++
++libpng3 (1.2.5-4) unstable; urgency=low
++
++  * Trying to fix the problem that libpng3 seems to be not linked against libz.
++  LDFLAGS was defined but not being used.
++  Thanks Mike Furr <mfurr@debian.org> for reporting (closes: #166489)
++
++ -- Junichi Uekawa <dancer@debian.org>  Sun, 27 Oct 2002 16:07:54 +0900
++
++libpng3 (1.2.5-3) unstable; urgency=low
++
++  * Fixed description, I mixed up the -devel and non-devel
++  packages.
++  * updated README.Debian.
++
++ -- Junichi Uekawa <dancer@debian.org>  Thu, 24 Oct 2002 18:56:34 +0900
++
++libpng3 (1.2.5-2) unstable; urgency=low
++
++  * careless mistake :(
++  * reinstall libpng.so symlink in libpng-12-0-dev package.
++  Otherwise other packages won't build ...
++
++ -- Junichi Uekawa <dancer@debian.org>  Wed, 23 Oct 2002 16:46:23 +0900
++
++libpng3 (1.2.5-1) unstable; urgency=low
++
++  * New upstream version (closes: #163425)
++  * re-patched makefile.linux to work with system zlib,
++    added workaround to set CFLAGS, and remove rpath settings from LDFLAGS
++  * Use debhelper.
++  * No longer create /usr/doc symlinks.
++  * Standards-Version: 3.5.7
++
++ -- Junichi Uekawa <dancer@debian.org>  Tue, 22 Oct 2002 21:05:33 +0900
++
++libpng3 (1.2.1-5) unstable; urgency=low
++
++  * Not yet released.
++  * Change priority from standard to optional.
++
++ -- Junichi Uekawa <dancer@debian.org>  Sun, 15 Sep 2002 15:39:12 +0900
++
++libpng3 (1.2.1-4) unstable; urgency=low
++
++  * change -dev dependency of libc6-dev to libc-dev
++
++ -- Junichi Uekawa <dancer@debian.org>  Fri, 13 Sep 2002 18:40:53 +0900
++
++libpng3 (1.2.1-3) unstable; urgency=low
++
++  * Security fix backported from 1.2.4. Check bounds of variables.
++  (closes: #155403)
++
++ -- Junichi Uekawa <dancer@debian.org>  Wed,  7 Aug 2002 17:30:32 +0900
++
++libpng3 (1.2.1-2) unstable; urgency=low
++
++  * New maintainer (closes: #151343)
++  * apply buffer overflow patch for interlaced png files (closes: #150595)
++  * update description for libpng3-dev.
++  * change libpng-dev to libpng3-dev
++
++ -- Junichi Uekawa <dancer@debian.org>  Thu, 25 Jul 2002 16:28:24 +0900
++
++libpng3 (1.2.1-1.1) unstable; urgency=low
++
++  * NMU
++  * Provides: libpng2-dev has been changed to Provides: libpng3-dev
++    libpng2-dev can be put back in when some kind of sane transition has
++    finished.
++    (closes: #128384, #128871, #129268, #129269)
++
++ -- Junichi Uekawa <dancer@debian.org>  Tue, 12 Feb 2002 02:31:53 +0900
++
++libpng3 (1.2.1-1) unstable; urgency=low
++
++  * New upstream version; closes: #125679.
++  * New source package name: libpng3.
++  * Renamed libpng<x>-dev to libpng-dev to avoid having to maintain several
++    development packages (the -dev is source compatible).
++  * Moved png.5 into the -dev package.
++  * Added a Replaces: libpng2 to libpng-dev so that we can steal the png.5
++    manpage without fuss.
++  * Changed debian/shlibs for libpng3.
++  * Compress examples/pngtest.c.
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 18 Dec 2001 20:01:04 -0800
++
++libpng (1.0.12-3) unstable; urgency=low
++
++  * Moved the png.5 manpage to the dev package to allow multiple libpng<n>
++    packages installed at the same time.
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 18 Dec 2001 23:58:25 -0800
++
++libpng (1.0.12-2) unstable; urgency=low
++
++  * Changed libpng2-dev's section to devel to resync with override file.
++  * Fixed upstream version detection in debian/rules; closes: #105931.
++
++ -- Philippe Troin <phil@fifi.org>  Sun, 29 Jul 2001 11:52:40 -0700
++
++libpng (1.0.12-1) unstable; urgency=low
++
++  * New upstream release; closes: #105354.
++  * Bumped dependency information in debian/shlibs to libpng >= 1.0.12
++    since there were some non-backwards compatible changes to the API.
++  * Added support for DEB_BUILD_OPTIONS and get-orig-source to debian/rules.
++  * Added call to ldconfig on postrm's remove.
++  * Removed INSTALL file from /usr/share/doc/libpng2.
++  * Bumped standards version to 3.5.5.0.
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 17 Jul 2001 23:32:36 -0700
++
++libpng (1.0.11-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Philippe Troin <phil@fifi.org>  Wed,  2 May 2001 20:43:51 -0700
++
++libpng (1.0.10-2) unstable; urgency=low
++
++  * Force recompile because of bad sparc package.
++  * Libpng2's priority changed to standard to comply with the override file.
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 24 Apr 2001 11:49:31 -0700
++
++libpng (1.0.10-1) unstable; urgency=low
++
++  * New upstream release.
++  * Changed shlib to depend on libpng2 (>= 2.0.10) because of
++    non-backwards compatible changes.
++
++ -- Philippe Troin <phil@fifi.org>  Sun, 22 Apr 2001 22:48:30 -0700
++
++libpng (1.0.8-1) unstable; urgency=low
++
++  * Changed the doc-base type from 'test' to 'text'; closes: #59877.
++  * New upstream relase 1.0.8; closes: #70464.
++  * Updated copyright notice.
++  * Removed Y2kINFO from the doc directory.
++  * Added pngtest.c in examples; closes: #65229.
++  * Updated to standards version 3.2.1.0.
++  * Added build-depends line in control file; closes: #69291.
++
++ -- Philippe Troin <phil@fifi.org>  Mon, 11 Sep 2000 23:19:12 -0700
++
++libpng (1.0.5-1) frozen unstable; urgency=low
++
++  * Maintainer upload (closes: #48244, #48246).
++  * Added some extra explanations for the setjmp.h mess (closes: #56759),
++    see pngconf.h for details.
++
++ -- Philippe Troin <phil@fifi.org>  Mon, 28 Feb 2000 13:53:22 -0800
++
++libpng (1.0.5-0.1) unstable; urgency=low
++
++  * Non-maintainer release.
++  * New upstream release. (closes:Bug#48244).
++  * Remove versioned depend from shlibs (closes:Bug#48246).
++
++ -- Joel Klecker <espy@debian.org>  Sat, 30 Oct 1999 08:12:53 -0700
++
++libpng (1.0.3-1) unstable; urgency=low
++
++  * New upstream version (1.0.3); Closes: #31870, #46333.
++  * Maintainer upload, closes NMU bugs; Closes: #28412, #31523, #31690.
++  * FHS compliant.
++  * New standard-version 3.0.1.
++  * Lintian clean.
++  * Removed temporary zlib1g line in control file (used to be a bug in
++    zlib1g).
++  * Moved the documentation file to the -dev package.
++  * Register documentation file to doc-base.
++  * Fontified man pages with addformat script; Closes #38680.
++
++ -- Philippe Troin <phil@fifi.org>  Mon,  4 Oct 1999 18:59:42 -0700
++
++libpng (1.0.2b-0.1) frozen unstable; urgency=low
++
++  * New upstream (bug-fix only) version.
++    (Should fix bugs #31690&#28412, since I can't reproduce them)
++    From the author:
++    "I have recently uploaded libpng-1.0.2b to
++    ftp://swrinde.nde.swri.edu/pub/png-group/src
++    I plan to release it as libpng-1.0.3 in a
++    few days, but would like to hear whether it
++    fixes the problems with GNOME.
++    It restores a few lines of code that were
++    inadvertently deleted from pngread.c, which
++    seems to be the cause of problems with adding
++    an alpha channel (which you fixed by downgrading
++    to libpng-1.0.1's pngread.c)."
++      [Glenn Randers-Pehrson <glennrp@netgsi.com>]
++  * Masquerade version number to 1.0.3 to make Imlib & Co. happy.
++
++ -- Vincent Renardias <vincent@waw.com>  Mon, 11 Jan 1999 06:27:55 +0100
++
++libpng (1.0.2-1.1) frozen unstable; urgency=low
++
++  * Fix Important bug #28412
++    (using pngread.c from libpng-1.0.1 did the trick).
++
++ -- Vincent Renardias <vincent@waw.com>  Wed,  6 Jan 1999 19:00:15 +0100
++
++libpng (1.0.2-1) unstable; urgency=low
++
++  * Maintainer release (to change a bit).
++  * Pristine sources.
++  * Libpng2-dev includes example.c (fixes bug #10315).
++  * Changed control file to reflect difference with libpng0g (fixes #23795).
++  * Recompiled (should fix the zlib1g missing symbol, bug #24450).
++  * Added -D_REENTRANT also to static library.
++  * Added a dependency upon zlib1g >= 1.1.2 (otherwise we get a missing
++    symbol) (fixes bug #24450).
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 22 Sep 1998 00:17:16 -0700
++
++libpng (1.0.2-0.1) unstable; urgency=low
++
++  * Non-maintainer release
++  * New upstream version
++
++ -- Karl M. Hegbloom <karlheg@debian.org>  Tue,  4 Aug 1998 23:47:00 -0700
++
++libpng (1.0.1-0.2) unstable; urgency=medium
++
++  * debian/rules (binary-arch): don't call install with -s as an
++    argument when installing a shared library; it doesn't know to use
++    --strip-unneeded, and we call strip separately later anyway.
++  * scripts/makefile.lnx (CFLAGS): killed i386-isms.
++  * scripts/makefile.lnx: compiled shared libraries with -D_REENTRANT.
++    (The above fixes are from James Troup, who yet again, alerted me to
++     my screwups ;)
++  * debian/postinst: only call ldconfig if $1 = configure.
++
++ -- Joel Klecker <jk@espy.org>  Wed, 17 Jun 1998 10:25:27 -0700
++
++libpng (1.0.1-0.1) unstable; urgency=low
++
++  * New upstream bug fix release.
++  * Include man pages.
++
++ -- Joel Klecker <jk@espy.org>  Wed, 06 May 1998 08:51:49 -0700
++
++libpng (1.0.0-0.1) unstable; urgency=low
++
++  * Non-maintainer Release.
++  * New Upstream Release.
++  * Changed source package name to `libpng'.
++  * Added `-f makefile.lnx' to make invocations in debian/rules.
++  * Removed `ldconfig' call from postrm.
++
++ -- Joel Klecker <jk@espy.org>  Wed, 04 Mar 1998 17:58:05 -0800
++
++libpng0 (0.96-5) unstable; urgency=low
++
++  * Removed executable permissions on shared libs (fixes bug #15478).
++  * Updated Standards-Version to 2.3.0.1.
++
++ -- Philippe Troin <phil@fifi.org>  Sun, 25 Jan 1998 13:19:51 -0800
++
++libpng0 (0.96-4) unstable; urgency=low
++
++  * Shared libraries are stripped with --strip-unneeded and static
++    libraries with --strip-debug (fixes bug #15669).
++  * Made the build strip non-i386 specific (patch by James Troup) (fixes
++    bug #13832).
++  * Removed the dependency between the libc5 and libc6 versions.
++
++ -- Philippe Troin <phil@fifi.org>  Sun, 18 Jan 1998 22:37:19 -0800
++
++libpng0 (0.96-3) unstable; urgency=low
++
++  * Libc6 compilation.
++
++ -- Philippe Troin <phil@fifi.org>  Tue, 23 Sep 1997 21:38:42 -0700
++
++libpng0 (0.96-2) unstable; urgency=low
++
++  * Fixed permissions in /usr/doc/libpng0 (fixes bug #10540).
++
++ -- Philippe Troin <phil@fifi.org>  Sun, 15 Jun 1997 13:18:38 -0700
++
++libpng0 (0.96-1) unstable; urgency=low
++
++  * New upstream sources.
++
++ -- Philippe Troin <phil@fifi.org>  Thu, 12 Jun 1997 23:32:29 -0700
++
++libpng0 (0.95b-1) unstable; urgency=low
++
++  * New maintainer.
++  * Upgraded to upstream version 0.95b.
++  * Make debian/rules version independent.
++  * Debian/rules clean now removes substvars.
++  * Bumped the shlibs version to 0.95 as some incompatibilities were
++    introduced between 0.89 and 0.90.
++  * Added the Section: and Priority: fields to the control file (fixes bug
++    #6370).
++  * Now /usr/doc/libpng0 contains various info and the debian change log
++    stuff (fixes bug #7925).
++  * Added -D_REENTRANT compilation flag.
++
++ -- Philippe Troin <phil@fifi.org>  Fri, 18 Apr 1997 14:44:09 -0700
++
++libpng (0.89c-6) unstable; urgency=low
++
++  * Moved shlibs file to correct location
++
++ -- Michael Alan Dorman <mdorman@debian.org>  Sun, 15 Dec 1996 13:03:19 -0500
++
++libpng (0.89c-5) unstable; urgency=low
++
++  * Added shlibs file
++
++ -- Michael Alan Dorman <mdorman@debian.org>  Sat, 23 Nov 1996 16:23:06 -0500
++
++libpng (0.89c-4) unstable; urgency=low
++
++  * Now stripping shared libraries (Bug#5134)
++
++ -- Michael Alan Dorman <mdorman@debian.org>  Sat, 23 Nov 1996 12:05:06 -0500
++
++libpng (0.89c-3) unstable; urgency=low
++
++  * Corrected maintainers address
++
++ -- Michael Alan Dorman <mdorman@debian.org>  Mon, 23 Sep 1996 12:52:03 -0400
++
++libpng (0.89c-2) unstable; urgency=low
++
++  * Accommodate the fact that dpkg-source doesn't properly preserve
++    permissions on scripts when extracting package. (Bug#4513)
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu>  Mon, 23 Sep 1996 12:34:35 -0400
++
++libpng (0.89c-1) unstable; urgency=low
++
++  * New upstream version.
++  * Moved to new source packaging format.
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu>  Thu, 12 Sep 1996 15:19:35 -0400
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da278be4617d85afd17d9b1fded3f1684da8cbad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++CHANGES
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..90a21dcb19600d1ad378d8f11269d63844a34fd6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++pngtest-static
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5dfe301eac930cea824a7286937e7bdd6e99094d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,69 @@@
++Source: libpng1.6
++Section: libs
++Priority: optional
++Maintainer: Maintainers of libpng1.6 packages <libpng1.6@packages.debian.org>
++Uploaders: Nobuhiro Iwamatsu <iwamatsu@debian.org>,
++           Gianfranco Costamagna <locutusofborg@debian.org>,
++           Tobias Frost <tobi@debian.org>
++Build-Depends: debhelper-compat (= 13), cmake, zlib1g-dev, mawk
++Standards-Version: 4.7.3
++Vcs-Browser: https://salsa.debian.org/debian/libpng1.6
++Vcs-Git: https://salsa.debian.org/debian/libpng1.6.git
++Homepage: http://libpng.org/pub/png/libpng.html
++
++Package: libpng16-16t64
++Provides: ${t64:Provides}
++Replaces: libpng16-16
++Breaks: libpng16-16 (<< ${source:Version})
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: PNG library - runtime (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains the runtime library files needed to run software
++ using libpng.
++
++Package: libpng-dev
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: ${misc:Depends}, libpng16-16t64 (= ${binary:Version}), zlib1g-dev
++Conflicts: libpng12-0-dev, libpng12-dev, libpng2-dev, libpng3-dev
++Breaks: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
++Replaces: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
++Recommends: libpng-tools
++Description: PNG library - development (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains the header and development files needed to build
++ programs and packages using libpng.
++
++Package: libpng-tools
++Section: libdevel
++Architecture: any
++Multi-Arch: foreign
++Depends: ${shlibs:Depends}, ${misc:Depends}, libpng16-16t64 (= ${binary:Version})
++Breaks: libpng16-tools (<< 1.6.21-1)
++Replaces: libpng16-tools (<< 1.6.21-1)
++Description: PNG library - tools (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains a program to interact with libpng from the
++ command line.
++
++Package: libpng16-16-udeb
++Package-Type: udeb
++Build-Profiles: <!noudeb>
++Section: debian-installer
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: PNG library - minimal runtime library (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package provides the minimal libpng runtime library needed for
++ the debian-installer.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0457acb8187086b0a2aefb59be8031ee6d1b1016
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,324 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libpng
++Source: http://www.libpng.org/pub/png/
++
++Files: *
++Copyright: 1995-2026 The PNG Reference Library Authors.
++           1998-2018 Glenn Randers-Pehrson
++           2018-2026 Cosmin Truta
++License: libpng
++
++Files: arm/*
++Copyright: 2018-2025 Cosmin Truta
++           2017-2018 Arm Holdings. All rights reserved.
++           2014,2016 Glenn Randers-Pehrson
++License: libpng
++
++Files: ci/*
++Copyright: 2023-2024 Cosmin Truta
++License: expat
++
++Files: contrib/pngexif/*
++Copyright: 2017-2020 Cosmin Truta
++License: expat
++
++Files: contrib/pngminus/*
++Copyright: 1999-2019 Willem van Schaik <willem at schaik dot com>
++           2018-2024 Cosmin Truta
++License: expat
++
++Files: contrib/tools/*
++Copyright: 2013-2024 John Cunningham Bowler
++           2015 Glenn Randers-Pehrson
++License: libpng
++
++Files: pngwutil.c pngstruct.h pngwrite.c pnginfo.h pngrio.c png.h
++       pngread.c pngwio.c pngrutil.c pngmem.c pngget.c pngtest.c
++       pngrtran.c pngpriv.h pngset.c pngpread.c
++       pngdebug.h pngerror.c pngwtran.c png.c pngtrans.c example.c
++Copyright: 1996, 1997 Andreas Dilger
++           1995, 1996 Guy Eric Schalnat, Group 42, Inc.
++           1998-2018 Glenn Randers-Pehrson
++           2018-2025 Cosmin Truta
++License: libpng
++
++Files: contrib/gregbook/*
++       contrib/visupng/resource.h
++       contrib/visupng/cexcept.h
++Copyright: 2000-2008 Adam M. Costello and Cosmin Truta
++           1998-2017 Greg Roelofs
++License: GPL-2+ or BSD-like-with-advertising-clause
++
++Files: contrib/visupng/PngFile.c contrib/visupng/PngFile.h
++       contrib/visupng/VisualPng.c
++Copyright: 2000,2017 Willem van Schaik
++License: libpng
++
++Files: contrib/libtests/tarith.c
++Copyright: 2011-2013 John Cunningham Bowler
++           2021 Cosmin Truta
++License: libpng
++
++Files: contrib/oss-fuzz/*
++Copyright: 2017-2018 Glenn Randers-Pehrson
++           2016 Google Inc.
++           2015 The Chromium Authors.
++License: libpng OR Apache-2.0 OR BSD-3-clause
++
++Files: contrib/oss-fuzz/Dockerfile
++Copyright: 2016 Google Inc.
++License: Apache-2.0
++
++Files: riscv/*
++Copyright: 2023 Google LLC
++License: libpng
++
++Files: debian/*
++Copyright:      2001 Philippe Troin <phil@fifi.org>
++                2002 Junichi Uekawa <dancer@debian.org>
++                2003 Josselin Mouette <joss@debian.org>
++           2006-2009 Anibal Monsalve Salazar <anibal@debian.org>
++           2011-2014 Nobuhiro Iwamatsu <iwamatsu@debian.org>
++           2016-2026 Gianfranco Costamagna <locutusofborg@debian.org>
++           2016-2026 Tobias Frost <tobi@debian.org>
++License: GPL-2+
++
++License: expat
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ "Software"), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++ .
++ The above copyright notice and this permission notice shall be
++ included in all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ SOFTWARE.
++
++License: GPL-2+
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
++
++License: BSD-like-with-advertising-clause
++ Permission is granted to anyone to use this software for any purpose,
++ including commercial applications, and to alter it and redistribute
++ it freely, subject to the following restrictions:
++ .
++ 1. Redistributions of source code must retain the above copyright
++     notice, disclaimer, and this list of conditions.
++ 2. Redistributions in binary form must reproduce the above copyright
++    notice, disclaimer, and this list of conditions in the documenta-
++    tion and/or other materials provided with the distribution.
++  3. All advertising materials mentioning features or use of this
++     software must display the following acknowledgment:
++ .
++ This product includes software developed by Greg Roelofs
++ and contributors for the book, "PNG: The Definitive Guide,"
++ published by O'Reilly and Associates.
++
++License: libpng
++ Here is the copyright and license for libpng:
++ . 
++   libpng versions 1.2.6, August 15, 2004, through 1.5.2, March 31, 2011, are
++   Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-1.2.5
++   with the following individual added to the list of Contributing Authors
++ .
++     Cosmin Truta
++ .
++   libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
++   Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-1.0.6
++   with the following individuals added to the list of Contributing Authors
++ .
++     Simon-Pierre Cadieux
++     Eric S. Raymond
++     Gilles Vollant
++ .
++   and with the following additions to the disclaimer:
++ .
++   There is no warranty against interference with your enjoyment of the
++   library or against infringement.  There is no warranty that our
++   efforts or the library will fulfill any of your particular purposes
++   or needs.  This library is provided with all faults, and the entire
++   risk of satisfactory quality, performance, accuracy, and effort is with
++   the user.
++ .
++   libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
++   Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-0.96,
++   with the following individuals added to the list of Contributing Authors:
++ .
++     Tom Lane
++     Glenn Randers-Pehrson
++     Willem van Schaik
++ .
++   (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
++   (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
++ .
++   Authors and maintainers:
++   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
++   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
++   libpng versions 0.97, January 1998, through 1.2.26 - April 2, 2008: Glenn
++   See also "Contributing Authors", below.
++ .
++ .
++   COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
++ .
++   If you modify libpng you may insert additional notices immediately following
++   this sentence.
++ .
++   libpng versions 1.2.6, August 15, 2004, through 1.2.26, April 2, 2008, are
++   Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-1.2.5
++   with the following individual added to the list of Contributing Authors:
++ .
++      Cosmin Truta
++ .
++   libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
++   Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-1.0.6
++   with the following individuals added to the list of Contributing Authors:
++ .
++      Simon-Pierre Cadieux
++      Eric S. Raymond
++      Gilles Vollant
++ .
++   and with the following additions to the disclaimer:
++ .
++      There is no warranty against interference with your enjoyment of the
++      library or against infringement.  There is no warranty that our
++      efforts or the library will fulfill any of your particular purposes
++      or needs.  This library is provided with all faults, and the entire
++      risk of satisfactory quality, performance, accuracy, and effort is with
++      the user.
++ .
++   libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
++   Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
++   distributed according to the same disclaimer and license as libpng-0.96,
++   with the following individuals added to the list of Contributing Authors:
++ .
++      Tom Lane
++      Glenn Randers-Pehrson
++      Willem van Schaik
++ .
++   libpng versions 0.89, June 1996, through 0.96, May 1997, are
++   Copyright (c) 1996, 1997 Andreas Dilger
++   Distributed according to the same disclaimer and license as libpng-0.88,
++   with the following individuals added to the list of Contributing Authors:
++ .
++      John Bowler
++      Kevin Bracey
++      Sam Bushell
++      Magnus Holmgren
++      Greg Roelofs
++      Tom Tanner
++ .
++   libpng versions 0.5, May 1995, through 0.88, January 1996, are
++   Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
++ .
++   For the purposes of this copyright and license, "Contributing Authors"
++   is defined as the following set of individuals:
++ .
++      Andreas Dilger
++      Dave Martindale
++      Guy Eric Schalnat
++      Paul Schmidt
++      Tim Wegner
++ .
++   The PNG Reference Library is supplied "AS IS".  The Contributing Authors
++   and Group 42, Inc. disclaim all warranties, expressed or implied,
++   including, without limitation, the warranties of merchantability and of
++   fitness for any purpose.  The Contributing Authors and Group 42, Inc.
++   assume no liability for direct, indirect, incidental, special, exemplary,
++   or consequential damages, which may result from the use of the PNG
++   Reference Library, even if advised of the possibility of such damage.
++ .
++   Permission is hereby granted to use, copy, modify, and distribute this
++   source code, or portions hereof, for any purpose, without fee, subject
++   to the following restrictions:
++ .
++   1. The origin of this source code must not be misrepresented.
++ .
++   2. Altered versions must be plainly marked as such and
++      must not be misrepresented as being the original source.
++ .
++   3. This Copyright notice may not be removed or altered from
++      any source or altered source distribution.
++ .
++   The Contributing Authors and Group 42, Inc. specifically permit, without
++   fee, and encourage the use of this source code as a component to
++   supporting the PNG file format in commercial products.  If you use this
++   source code in a product, acknowledgment is not required but would be
++   appreciated.
++ .
++   contrib/pngsuite:
++   --------
++   (c) Willem van Schaik, 1999, 2011
++ .
++   Permission to use, copy, modify, and distribute these images for any
++   purpose and without fee is hereby granted.
++
++License: Apache-2.0
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++ .
++  http://www.apache.org/licenses/LICENSE-2.0
++ .
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++ .
++ On Debian systems, the full text of the Apache License
++ can be found in the file `/usr/share/common-licenses/Apache-2.0'.
++
++License: BSD-3-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions
++ are met:
++ 1. Redistributions of source code must retain the above copyright
++    notice, this list of conditions and the following disclaimer.
++ 2. Redistributions in binary form must reproduce the above copyright
++    notice, this list of conditions and the following disclaimer in the
++    documentation and/or other materials provided with the distribution.
++ 3. Neither the name of the University nor the names of its contributors
++    may be used to endorse or promote products derived from this software
++    without specific prior written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ SUCH DAMAGE.
++
diff --cc debian/docs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5eb1f456ffefaf04f6a33fbfc9b8baf434fef0d8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++libpng-manual.txt
++README
++TODO
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e9df14ff2ef99a842e509d7cd8c6655146b0fb18
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++[DEFAULT]
++upstream-branch=upstream
++debian-branch=master
++pristine-tar = True
++sign-tags = True
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5c6956745034853a4897943816fcde3e55719c66
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++example.c
++pngtest.c
++pngtest.png
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e0138e5cf7292581118d36e48f697cff40e0db21
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++usr/bin/libpng-config
++usr/bin/libpng16-config
++usr/include
++usr/lib/*/cmake
++usr/lib/*/libpng
++usr/lib/*/pkgconfig
++usr/lib/*/libpng.a
++usr/lib/*/libpng16.a
++usr/lib/*/libpng.so
++usr/lib/*/libpng16.so
++usr/share/man
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..df10316e9daa27373e8a17dafb78cefe3d316072
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++/usr/include/libpng16 /usr/include/libpng
++/usr/share/man/man1/libpng16-config.1.gz /usr/share/man/man1/libpng-config.1.gz
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..822ed926af0976dc788e9b536d620d609219e9d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/libpng16-config.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4b26ab3251aefdade703e3ed5849586a46bb6f09
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/bin/png-fix-itxt
++usr/bin/pngfix
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..07f93cb8f41ea29feb545def104b5e66b22d72c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libpng16.so.* usr/lib
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa9e51f55db98f62a947c7490f408d163c0b21b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Document: libpng16
++Title: A description on how to use and modify libpng (version 1.5.X)
++Author: Glenn Randers-Pehrson
++Abstract: This file describes how to use and modify the PNG reference library
++ (known as libpng) for your own use.  There are five sections to this
++ file: introduction, structures, reading, writing, and modification and
++ configuration notes for various special platforms.  In addition to this
++ file, example.c is a good starting point for using the library, as
++ it is heavily commented and should include everything most people
++ will need.  We assume that libpng is already installed; see the
++ INSTALL file for instructions on how to install libpng.
++ .
++ Libpng was written as a companion to the PNG specification, as a way
++ of reducing the amount of time and effort it takes to support the PNG
++ file format in application programs.  The PNG specification is available
++ as RFC 2083 <http://www.ietf.org/rfc/rfc2083.txt> and as a
++ W3C Recommendation <http://www.w3.org/TR/REC-png-multi.html>. Some
++ additional chunks are described in the special-purpose public chunks
++ documents at <ftp://ftp.uu.net/graphics/png/documents/>.  Other information
++ about PNG, and the latest version of libpng, can be found at the PNG home
++ page, <http://www.libpng.org/pub/png/>.
++Section: Programming
++
++Format: text
++Files: /usr/share/doc/libpng16-16t64/libpng-manual.txt.gz
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa382c16105ca146978219b687d884e911281d40
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++README
++TODO
++ANNOUNCE
++#KNOWNBUG
++libpng-manual.txt
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8d9226f4b0a68f6efd0265a2547a0cad1e50082c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libpng16.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..244d289f9ad59c2601de41a8d78c96c8afbdac5b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++libpng16-16t64: package-name-doesnt-match-sonames libpng16-16
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c37b2fe24b8a500d4c31c69ffcf31ef46c29c2b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,259 @@@
++libpng16.so.16 libpng16-16t64 #MINVER#
++* Build-Depends-Package: libpng-dev
++ PNG16_0@PNG16_0 1.6.46
++ png_access_version_number@PNG16_0 1.6.46
++ png_set_sig_bytes@PNG16_0 1.6.46
++ png_sig_cmp@PNG16_0 1.6.46
++ png_create_read_struct@PNG16_0 1.6.46
++ png_create_write_struct@PNG16_0 1.6.46
++ png_get_compression_buffer_size@PNG16_0 1.6.46
++ png_set_compression_buffer_size@PNG16_0 1.6.46
++ png_set_longjmp_fn@PNG16_0 1.6.46
++ png_longjmp@PNG16_0 1.6.46
++ png_reset_zstream@PNG16_0 1.6.46
++ png_create_read_struct_2@PNG16_0 1.6.46
++ png_create_write_struct_2@PNG16_0 1.6.46
++ png_write_sig@PNG16_0 1.6.46
++ png_write_chunk@PNG16_0 1.6.46
++ png_write_chunk_start@PNG16_0 1.6.46
++ png_write_chunk_data@PNG16_0 1.6.46
++ png_write_chunk_end@PNG16_0 1.6.46
++ png_create_info_struct@PNG16_0 1.6.46
++ png_info_init_3@PNG16_0 1.6.46
++ png_write_info_before_PLTE@PNG16_0 1.6.46
++ png_write_info@PNG16_0 1.6.46
++ png_read_info@PNG16_0 1.6.46
++ png_convert_to_rfc1123@PNG16_0 1.6.46
++ png_convert_to_rfc1123_buffer@PNG16_0 1.6.46
++ png_convert_from_struct_tm@PNG16_0 1.6.46
++ png_convert_from_time_t@PNG16_0 1.6.46
++ png_set_expand@PNG16_0 1.6.46
++ png_set_expand_gray_1_2_4_to_8@PNG16_0 1.6.46
++ png_set_palette_to_rgb@PNG16_0 1.6.46
++ png_set_tRNS_to_alpha@PNG16_0 1.6.46
++ png_set_expand_16@PNG16_0 1.6.46
++ png_set_bgr@PNG16_0 1.6.46
++ png_set_gray_to_rgb@PNG16_0 1.6.46
++ png_set_rgb_to_gray@PNG16_0 1.6.46
++ png_set_rgb_to_gray_fixed@PNG16_0 1.6.46
++ png_get_rgb_to_gray_status@PNG16_0 1.6.46
++ png_build_grayscale_palette@PNG16_0 1.6.46
++ png_set_alpha_mode@PNG16_0 1.6.46
++ png_set_alpha_mode_fixed@PNG16_0 1.6.46
++ png_set_strip_alpha@PNG16_0 1.6.46
++ png_set_swap_alpha@PNG16_0 1.6.46
++ png_set_invert_alpha@PNG16_0 1.6.46
++ png_set_filler@PNG16_0 1.6.46
++ png_set_add_alpha@PNG16_0 1.6.46
++ png_set_swap@PNG16_0 1.6.46
++ png_set_packing@PNG16_0 1.6.46
++ png_set_packswap@PNG16_0 1.6.46
++ png_set_shift@PNG16_0 1.6.46
++ png_set_interlace_handling@PNG16_0 1.6.46
++ png_set_invert_mono@PNG16_0 1.6.46
++ png_set_background@PNG16_0 1.6.46
++ png_set_background_fixed@PNG16_0 1.6.46
++ png_set_scale_16@PNG16_0 1.6.46
++ png_set_strip_16@PNG16_0 1.6.46
++ png_set_quantize@PNG16_0 1.6.46
++ png_set_gamma@PNG16_0 1.6.46
++ png_set_gamma_fixed@PNG16_0 1.6.46
++ png_set_flush@PNG16_0 1.6.46
++ png_write_flush@PNG16_0 1.6.46
++ png_start_read_image@PNG16_0 1.6.46
++ png_read_update_info@PNG16_0 1.6.46
++ png_read_rows@PNG16_0 1.6.46
++ png_read_row@PNG16_0 1.6.46
++ png_read_image@PNG16_0 1.6.46
++ png_write_row@PNG16_0 1.6.46
++ png_write_rows@PNG16_0 1.6.46
++ png_write_image@PNG16_0 1.6.46
++ png_write_end@PNG16_0 1.6.46
++ png_read_end@PNG16_0 1.6.46
++ png_destroy_info_struct@PNG16_0 1.6.46
++ png_destroy_read_struct@PNG16_0 1.6.46
++ png_destroy_write_struct@PNG16_0 1.6.46
++ png_set_crc_action@PNG16_0 1.6.46
++ png_set_filter@PNG16_0 1.6.46
++ png_set_filter_heuristics@PNG16_0 1.6.46
++ png_set_filter_heuristics_fixed@PNG16_0 1.6.46
++ png_set_compression_level@PNG16_0 1.6.46
++ png_set_compression_mem_level@PNG16_0 1.6.46
++ png_set_compression_strategy@PNG16_0 1.6.46
++ png_set_compression_window_bits@PNG16_0 1.6.46
++ png_set_compression_method@PNG16_0 1.6.46
++ png_set_text_compression_level@PNG16_0 1.6.46
++ png_set_text_compression_mem_level@PNG16_0 1.6.46
++ png_set_text_compression_strategy@PNG16_0 1.6.46
++ png_set_text_compression_window_bits@PNG16_0 1.6.46
++ png_set_text_compression_method@PNG16_0 1.6.46
++ png_init_io@PNG16_0 1.6.46
++ png_set_error_fn@PNG16_0 1.6.46
++ png_get_error_ptr@PNG16_0 1.6.46
++ png_set_write_fn@PNG16_0 1.6.46
++ png_set_read_fn@PNG16_0 1.6.46
++ png_get_io_ptr@PNG16_0 1.6.46
++ png_set_read_status_fn@PNG16_0 1.6.46
++ png_set_write_status_fn@PNG16_0 1.6.46
++ png_set_mem_fn@PNG16_0 1.6.46
++ png_get_mem_ptr@PNG16_0 1.6.46
++ png_set_read_user_transform_fn@PNG16_0 1.6.46
++ png_set_write_user_transform_fn@PNG16_0 1.6.46
++ png_set_user_transform_info@PNG16_0 1.6.46
++ png_get_user_transform_ptr@PNG16_0 1.6.46
++ png_get_current_row_number@PNG16_0 1.6.46
++ png_get_current_pass_number@PNG16_0 1.6.46
++ png_set_read_user_chunk_fn@PNG16_0 1.6.46
++ png_get_user_chunk_ptr@PNG16_0 1.6.46
++ png_set_progressive_read_fn@PNG16_0 1.6.46
++ png_get_progressive_ptr@PNG16_0 1.6.46
++ png_process_data@PNG16_0 1.6.46
++ png_process_data_pause@PNG16_0 1.6.46
++ png_process_data_skip@PNG16_0 1.6.46
++ png_progressive_combine_row@PNG16_0 1.6.46
++ png_malloc@PNG16_0 1.6.46
++ png_calloc@PNG16_0 1.6.46
++ png_malloc_warn@PNG16_0 1.6.46
++ png_free@PNG16_0 1.6.46
++ png_free_data@PNG16_0 1.6.46
++ png_data_freer@PNG16_0 1.6.46
++ png_malloc_default@PNG16_0 1.6.46
++ png_free_default@PNG16_0 1.6.46
++ png_error@PNG16_0 1.6.46
++ png_chunk_error@PNG16_0 1.6.46
++ png_warning@PNG16_0 1.6.46
++ png_chunk_warning@PNG16_0 1.6.46
++ png_benign_error@PNG16_0 1.6.46
++ png_chunk_benign_error@PNG16_0 1.6.46
++ png_set_benign_errors@PNG16_0 1.6.46
++ png_get_valid@PNG16_0 1.6.46
++ png_get_rowbytes@PNG16_0 1.6.46
++ png_get_rows@PNG16_0 1.6.46
++ png_set_rows@PNG16_0 1.6.46
++ png_get_channels@PNG16_0 1.6.46
++ png_get_image_width@PNG16_0 1.6.46
++ png_get_image_height@PNG16_0 1.6.46
++ png_get_bit_depth@PNG16_0 1.6.46
++ png_get_color_type@PNG16_0 1.6.46
++ png_get_filter_type@PNG16_0 1.6.46
++ png_get_interlace_type@PNG16_0 1.6.46
++ png_get_compression_type@PNG16_0 1.6.46
++ png_get_pixels_per_meter@PNG16_0 1.6.46
++ png_get_x_pixels_per_meter@PNG16_0 1.6.46
++ png_get_y_pixels_per_meter@PNG16_0 1.6.46
++ png_get_pixel_aspect_ratio@PNG16_0 1.6.46
++ png_get_pixel_aspect_ratio_fixed@PNG16_0 1.6.46
++ png_get_x_offset_pixels@PNG16_0 1.6.46
++ png_get_y_offset_pixels@PNG16_0 1.6.46
++ png_get_x_offset_microns@PNG16_0 1.6.46
++ png_get_y_offset_microns@PNG16_0 1.6.46
++ png_get_signature@PNG16_0 1.6.46
++ png_get_bKGD@PNG16_0 1.6.46
++ png_set_bKGD@PNG16_0 1.6.46
++ png_get_cHRM@PNG16_0 1.6.46
++ png_get_cHRM_XYZ@PNG16_0 1.6.46
++ png_get_cHRM_fixed@PNG16_0 1.6.46
++ png_get_cHRM_XYZ_fixed@PNG16_0 1.6.46
++ png_set_cHRM@PNG16_0 1.6.46
++ png_set_cHRM_XYZ@PNG16_0 1.6.46
++ png_set_cHRM_fixed@PNG16_0 1.6.46
++ png_set_cHRM_XYZ_fixed@PNG16_0 1.6.46
++ png_get_cICP@PNG16_0 1.6.46
++ png_set_cICP@PNG16_0 1.6.46
++ png_get_cLLI@PNG16_0 1.6.46
++ png_get_cLLI_fixed@PNG16_0 1.6.46
++ png_set_cLLI@PNG16_0 1.6.46
++ png_set_cLLI_fixed@PNG16_0 1.6.46
++ png_get_eXIf@PNG16_0 1.6.46
++ png_set_eXIf@PNG16_0 1.6.46
++ png_get_eXIf_1@PNG16_0 1.6.46
++ png_set_eXIf_1@PNG16_0 1.6.46
++ png_get_gAMA@PNG16_0 1.6.46
++ png_get_gAMA_fixed@PNG16_0 1.6.46
++ png_set_gAMA@PNG16_0 1.6.46
++ png_set_gAMA_fixed@PNG16_0 1.6.46
++ png_get_hIST@PNG16_0 1.6.46
++ png_set_hIST@PNG16_0 1.6.46
++ png_get_IHDR@PNG16_0 1.6.46
++ png_set_IHDR@PNG16_0 1.6.46
++ png_get_mDCV@PNG16_0 1.6.46
++ png_get_mDCV_fixed@PNG16_0 1.6.46
++ png_set_mDCV@PNG16_0 1.6.46
++ png_set_mDCV_fixed@PNG16_0 1.6.46
++ png_get_oFFs@PNG16_0 1.6.46
++ png_set_oFFs@PNG16_0 1.6.46
++ png_get_pCAL@PNG16_0 1.6.46
++ png_set_pCAL@PNG16_0 1.6.46
++ png_get_pHYs@PNG16_0 1.6.46
++ png_set_pHYs@PNG16_0 1.6.46
++ png_get_PLTE@PNG16_0 1.6.46
++ png_set_PLTE@PNG16_0 1.6.46
++ png_get_sBIT@PNG16_0 1.6.46
++ png_set_sBIT@PNG16_0 1.6.46
++ png_get_sRGB@PNG16_0 1.6.46
++ png_set_sRGB@PNG16_0 1.6.46
++ png_set_sRGB_gAMA_and_cHRM@PNG16_0 1.6.46
++ png_get_iCCP@PNG16_0 1.6.46
++ png_set_iCCP@PNG16_0 1.6.46
++ png_get_sPLT@PNG16_0 1.6.46
++ png_set_sPLT@PNG16_0 1.6.46
++ png_get_text@PNG16_0 1.6.46
++ png_set_text@PNG16_0 1.6.46
++ png_get_tIME@PNG16_0 1.6.46
++ png_set_tIME@PNG16_0 1.6.46
++ png_get_tRNS@PNG16_0 1.6.46
++ png_set_tRNS@PNG16_0 1.6.46
++ png_get_sCAL@PNG16_0 1.6.46
++ png_get_sCAL_fixed@PNG16_0 1.6.46
++ png_get_sCAL_s@PNG16_0 1.6.46
++ png_set_sCAL@PNG16_0 1.6.46
++ png_set_sCAL_fixed@PNG16_0 1.6.46
++ png_set_sCAL_s@PNG16_0 1.6.46
++ png_set_keep_unknown_chunks@PNG16_0 1.6.46
++ png_handle_as_unknown@PNG16_0 1.6.46
++ png_set_unknown_chunks@PNG16_0 1.6.46
++ png_set_unknown_chunk_location@PNG16_0 1.6.46
++ png_get_unknown_chunks@PNG16_0 1.6.46
++ png_set_invalid@PNG16_0 1.6.46
++ png_read_png@PNG16_0 1.6.46
++ png_write_png@PNG16_0 1.6.46
++ png_get_copyright@PNG16_0 1.6.46
++ png_get_header_ver@PNG16_0 1.6.46
++ png_get_header_version@PNG16_0 1.6.46
++ png_get_libpng_ver@PNG16_0 1.6.46
++ png_permit_mng_features@PNG16_0 1.6.46
++ png_set_user_limits@PNG16_0 1.6.46
++ png_get_user_width_max@PNG16_0 1.6.46
++ png_get_user_height_max@PNG16_0 1.6.46
++ png_set_chunk_cache_max@PNG16_0 1.6.46
++ png_get_chunk_cache_max@PNG16_0 1.6.46
++ png_set_chunk_malloc_max@PNG16_0 1.6.46
++ png_get_chunk_malloc_max@PNG16_0 1.6.46
++ png_get_pixels_per_inch@PNG16_0 1.6.46
++ png_get_x_pixels_per_inch@PNG16_0 1.6.46
++ png_get_y_pixels_per_inch@PNG16_0 1.6.46
++ png_get_x_offset_inches@PNG16_0 1.6.46
++ png_get_x_offset_inches_fixed@PNG16_0 1.6.46
++ png_get_y_offset_inches@PNG16_0 1.6.46
++ png_get_y_offset_inches_fixed@PNG16_0 1.6.46
++ png_get_pHYs_dpi@PNG16_0 1.6.46
++ png_get_io_state@PNG16_0 1.6.46
++ png_get_io_chunk_type@PNG16_0 1.6.46
++ png_get_uint_32@PNG16_0 1.6.46
++ png_get_uint_16@PNG16_0 1.6.46
++ png_get_int_32@PNG16_0 1.6.46
++ png_get_uint_31@PNG16_0 1.6.46
++ png_save_uint_32@PNG16_0 1.6.46
++ png_save_int_32@PNG16_0 1.6.46
++ png_save_uint_16@PNG16_0 1.6.46
++ png_set_check_for_invalid_index@PNG16_0 1.6.46
++ png_get_palette_max@PNG16_0 1.6.46
++ png_image_begin_read_from_file@PNG16_0 1.6.46
++ png_image_begin_read_from_stdio@PNG16_0 1.6.46
++ png_image_begin_read_from_memory@PNG16_0 1.6.46
++ png_image_finish_read@PNG16_0 1.6.46
++ png_image_free@PNG16_0 1.6.46
++ png_image_write_to_file@PNG16_0 1.6.46
++ png_image_write_to_stdio@PNG16_0 1.6.46
++ png_image_write_to_memory@PNG16_0 1.6.46
++ png_set_option@PNG16_0 1.6.46
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c988a604a11516329bd36f7fe60ca1782b1f59c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,58 @@@
++.TH libpng16-config 1 "15 Apr 2011" "libpng" "Debian GNU/Linux"
++.SH NAME
++libpng16-config \- get information about installed libpng library
++.SH SYNOPSIS
++.B libpng16-config
++[\fIOPTION\fR] ...
++.SH DESCRIPTION
++Provides information about libpng library.
++
++Known values for OPTION are:
++.TP
++\fB\-\-prefix\fR
++print libpng prefix
++.TP
++\fB\-\-libdir\fR
++print path to directory containing library
++.TP
++\fB\-\-libs\fR
++print library linking information
++.TP
++\fB\-\-ccopts\fR
++print compiler options
++.TP
++\fB\-\-cppflags\fR
++print pre-processor flags
++.TP
++\fB\-\-cflags\fR
++print preprocessor flags, I_opts, and compiler options
++.TP
++\fB\-\-I_opts\fR
++print "-I" include options
++.TP
++\fB\-\-L_opts\fR
++print linker "-L" flags for dynamic linking
++.TP
++\fB\-\-R_opts\fR
++print dynamic linker "-R" or "-rpath" flags
++.TP
++\fB\-\-ldopts\fR
++print linker options
++.TP
++\fB\-\-ldflags\fR
++print linker flags (ldopts, L_opts, R_opts, and libs)
++.TP
++\fB\-\-static\fR
++revise subsequent outputs for static linking
++.TP
++\fB\-\-help\fR
++print this help and exit
++.TP
++\fB\-\-version\fR
++print version information
++.SH "AUTHOR"
++This manpage has been written by Junichi Uekawa <dancer@debian.org>
++for Debian GNU/Linux system, with the help of help2man, and
++may be used by others.
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b6ed626cd7ad84551c657f6710e1b400a8c11290
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++libpng.3
++png.5
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4b26ab3251aefdade703e3ed5849586a46bb6f09
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/bin/png-fix-itxt
++usr/bin/pngfix
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9ab426b11deab0346d0194b135739e434a310054
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libpng*.la
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0b9c56d0c6002331e63dd0d102272948f0ed57cf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1728 @@@
++diff -Naru libpng-1.6.39.org/png.h libpng-1.6.39/png.h
++--- libpng-1.6.39.org/png.h   2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/png.h       2022-11-24 08:41:17.785489740 +0900
++@@ -330,6 +330,10 @@
++ #   include "pnglibconf.h"
++ #endif
++ 
+++#define PNG_APNG_SUPPORTED
+++#define PNG_READ_APNG_SUPPORTED
+++#define PNG_WRITE_APNG_SUPPORTED
+++
++ #ifndef PNG_VERSION_INFO_ONLY
++ /* Machine specific configuration. */
++ #  include "pngconf.h"
++@@ -425,6 +429,17 @@
++  * See pngconf.h for base types that vary by machine/system
++  */
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++/* dispose_op flags from inside fcTL */
+++#define PNG_DISPOSE_OP_NONE        0x00U
+++#define PNG_DISPOSE_OP_BACKGROUND  0x01U
+++#define PNG_DISPOSE_OP_PREVIOUS    0x02U
+++
+++/* blend_op flags from inside fcTL */
+++#define PNG_BLEND_OP_SOURCE        0x00U
+++#define PNG_BLEND_OP_OVER          0x01U
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* This triggers a compiler error in png.c, if png.c and png.h
++  * do not agree upon the version number.
++  */
++@@ -746,6 +761,10 @@
++ #define PNG_INFO_sCAL 0x4000U  /* ESR, 1.0.6 */
++ #define PNG_INFO_IDAT 0x8000U  /* ESR, 1.0.6 */
++ #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */
+++#ifdef PNG_APNG_SUPPORTED
+++#define PNG_INFO_acTL 0x20000U
+++#define PNG_INFO_fcTL 0x40000U
+++#endif
++ 
++ /* This is used for the transformation routines, as some of them
++  * change these values for the row.  It also should enable using
++@@ -783,6 +802,10 @@
++ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++ typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop));
++ typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop));
+++#ifdef PNG_APNG_SUPPORTED
+++typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, (png_structp,
+++    png_uint_32));
+++#endif
++ 
++ /* The following callback receives png_uint_32 row_number, int pass for the
++  * png_bytep data of the row.  When transforming an interlaced image the
++@@ -3226,6 +3249,74 @@
++ /*******************************************************************************
++  *  END OF HARDWARE AND SOFTWARE OPTIONS
++  ******************************************************************************/
+++#ifdef PNG_APNG_SUPPORTED
+++PNG_EXPORT(250, png_uint_32, png_get_acTL, (png_structp png_ptr,
+++   png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays));
+++
+++PNG_EXPORT(251, png_uint_32, png_set_acTL, (png_structp png_ptr,
+++   png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays));
+++
+++PNG_EXPORT(252, png_uint_32, png_get_num_frames, (png_structp png_ptr,
+++   png_infop info_ptr));
+++
+++PNG_EXPORT(253, png_uint_32, png_get_num_plays, (png_structp png_ptr,
+++   png_infop info_ptr));
+++
+++PNG_EXPORT(254, png_uint_32, png_get_next_frame_fcTL,
+++   (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width,
+++   png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset,
+++   png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op,
+++   png_byte *blend_op));
+++
+++PNG_EXPORT(255, png_uint_32, png_set_next_frame_fcTL,
+++   (png_structp png_ptr, png_infop info_ptr, png_uint_32 width,
+++   png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset,
+++   png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++   png_byte blend_op));
+++
+++PNG_EXPORT(256, png_uint_32, png_get_next_frame_width,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(257, png_uint_32, png_get_next_frame_height,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(258, png_uint_32, png_get_next_frame_x_offset,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(259, png_uint_32, png_get_next_frame_y_offset,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(260, png_uint_16, png_get_next_frame_delay_num,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(261, png_uint_16, png_get_next_frame_delay_den,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(262, png_byte, png_get_next_frame_dispose_op,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(263, png_byte, png_get_next_frame_blend_op,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(264, png_byte, png_get_first_frame_is_hidden,
+++   (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(265, png_uint_32, png_set_first_frame_is_hidden,
+++   (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden));
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++PNG_EXPORT(266, void, png_read_frame_head, (png_structp png_ptr,
+++   png_infop info_ptr));
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++PNG_EXPORT(267, void, png_set_progressive_frame_fn, (png_structp png_ptr,
+++   png_progressive_frame_ptr frame_info_fn,
+++   png_progressive_frame_ptr frame_end_fn));
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++PNG_EXPORT(268, void, png_write_frame_head, (png_structp png_ptr,
+++   png_infop info_ptr, png_bytepp row_pointers,
+++   png_uint_32 width, png_uint_32 height,
+++   png_uint_32 x_offset, png_uint_32 y_offset,
+++   png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++   png_byte blend_op));
+++
+++PNG_EXPORT(269, void, png_write_frame_tail, (png_structp png_ptr,
+++   png_infop info_ptr));
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++#endif /* PNG_APNG_SUPPORTED */
++ 
++ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project
++  * defs, and in scripts/symbols.def.
++@@ -3235,7 +3326,11 @@
++  * one to use is one more than this.)
++  */
++ #ifdef PNG_EXPORT_LAST_ORDINAL
+++#ifdef PNG_APNG_SUPPORTED
+++  PNG_EXPORT_LAST_ORDINAL(269);
+++#else
++   PNG_EXPORT_LAST_ORDINAL(249);
+++#endif /* PNG_APNG_SUPPORTED */
++ #endif
++ 
++ #ifdef __cplusplus
++diff -Naru libpng-1.6.39.org/pngget.c libpng-1.6.39/pngget.c
++--- libpng-1.6.39.org/pngget.c        2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pngget.c    2022-11-24 08:41:17.785489740 +0900
++@@ -1246,4 +1246,166 @@
++ #  endif
++ #endif
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++png_uint_32 PNGAPI
+++png_get_acTL(png_structp png_ptr, png_infop info_ptr,
+++             png_uint_32 *num_frames, png_uint_32 *num_plays)
+++{
+++    png_debug1(1, "in %s retrieval function", "acTL");
+++
+++    if (png_ptr != NULL && info_ptr != NULL &&
+++        (info_ptr->valid & PNG_INFO_acTL) &&
+++        num_frames != NULL && num_plays != NULL)
+++    {
+++        *num_frames = info_ptr->num_frames;
+++        *num_plays = info_ptr->num_plays;
+++        return (1);
+++    }
+++
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_num_frames(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_num_frames()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->num_frames);
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_num_plays(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_num_plays()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->num_plays);
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
+++             png_uint_32 *width, png_uint_32 *height,
+++             png_uint_32 *x_offset, png_uint_32 *y_offset,
+++             png_uint_16 *delay_num, png_uint_16 *delay_den,
+++             png_byte *dispose_op, png_byte *blend_op)
+++{
+++    png_debug1(1, "in %s retrieval function", "fcTL");
+++
+++    if (png_ptr != NULL && info_ptr != NULL &&
+++        (info_ptr->valid & PNG_INFO_fcTL) &&
+++        width != NULL && height != NULL &&
+++        x_offset != NULL && y_offset != NULL &&
+++        delay_num != NULL && delay_den != NULL &&
+++        dispose_op != NULL && blend_op != NULL)
+++    {
+++        *width = info_ptr->next_frame_width;
+++        *height = info_ptr->next_frame_height;
+++        *x_offset = info_ptr->next_frame_x_offset;
+++        *y_offset = info_ptr->next_frame_y_offset;
+++        *delay_num = info_ptr->next_frame_delay_num;
+++        *delay_den = info_ptr->next_frame_delay_den;
+++        *dispose_op = info_ptr->next_frame_dispose_op;
+++        *blend_op = info_ptr->next_frame_blend_op;
+++        return (1);
+++    }
+++
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_width()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_width);
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_height()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_height);
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_x_offset()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_x_offset);
+++    return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_y_offset()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_y_offset);
+++    return (0);
+++}
+++
+++png_uint_16 PNGAPI
+++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_delay_num()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_delay_num);
+++    return (0);
+++}
+++
+++png_uint_16 PNGAPI
+++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_delay_den()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_delay_den);
+++    return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_dispose_op()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_dispose_op);
+++    return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_get_next_frame_blend_op()");
+++
+++    if (png_ptr != NULL && info_ptr != NULL)
+++        return (info_ptr->next_frame_blend_op);
+++    return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_first_frame_is_hidden()");
+++
+++    if (png_ptr != NULL)
+++       return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN);
+++
+++    PNG_UNUSED(info_ptr)
+++
+++    return 0;
+++}
+++#endif /* PNG_APNG_SUPPORTED */
++ #endif /* READ || WRITE */
++diff -Naru libpng-1.6.39.org/pnginfo.h libpng-1.6.39/pnginfo.h
++--- libpng-1.6.39.org/pnginfo.h       2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pnginfo.h   2022-11-24 08:41:17.785489740 +0900
++@@ -263,5 +263,18 @@
++    png_bytepp row_pointers;        /* the image bits */
++ #endif
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++   png_uint_32 num_frames; /* including default image */
+++   png_uint_32 num_plays;
+++   png_uint_32 next_frame_width;
+++   png_uint_32 next_frame_height;
+++   png_uint_32 next_frame_x_offset;
+++   png_uint_32 next_frame_y_offset;
+++   png_uint_16 next_frame_delay_num;
+++   png_uint_16 next_frame_delay_den;
+++   png_byte next_frame_dispose_op;
+++   png_byte next_frame_blend_op;
+++#endif
+++
++ };
++ #endif /* PNGINFO_H */
++diff -Naru libpng-1.6.39.org/pngpread.c libpng-1.6.39/pngpread.c
++--- libpng-1.6.39.org/pngpread.c      2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pngpread.c  2022-11-24 08:41:17.785489740 +0900
++@@ -195,6 +195,106 @@
++ 
++    chunk_name = png_ptr->chunk_name;
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++   if (png_ptr->num_frames_read > 0 &&
+++       png_ptr->num_frames_read < info_ptr->num_frames)
+++   {
+++      if (chunk_name == png_IDAT)
+++      {
+++         /* Discard trailing IDATs for the first frame */
+++         if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1)
+++            png_error(png_ptr, "out of place IDAT");
+++
+++         if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++         {
+++            png_push_save_buffer(png_ptr);
+++            return;
+++         }
+++
+++         png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++         return;
+++      }
+++      else if (chunk_name == png_fdAT)
+++      {
+++         if (png_ptr->buffer_size < 4)
+++         {
+++            png_push_save_buffer(png_ptr);
+++            return;
+++         }
+++
+++         png_ensure_sequence_number(png_ptr, 4);
+++
+++         if (!(png_ptr->mode & PNG_HAVE_fcTL))
+++         {
+++            /* Discard trailing fdATs for frames other than the first */
+++            if (png_ptr->num_frames_read < 2)
+++               png_error(png_ptr, "out of place fdAT");
+++
+++            if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++            {
+++               png_push_save_buffer(png_ptr);
+++               return;
+++            }
+++
+++            png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++            return;
+++         }
+++
+++         else
+++         {
+++            /* frame data follows */
+++            png_ptr->idat_size = png_ptr->push_length - 4;
+++            png_ptr->mode |= PNG_HAVE_IDAT;
+++            png_ptr->process_mode = PNG_READ_IDAT_MODE;
+++
+++            return;
+++         }
+++      }
+++
+++      else if (chunk_name == png_fcTL)
+++      {
+++         if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++         {
+++            png_push_save_buffer(png_ptr);
+++            return;
+++         }
+++
+++         png_read_reset(png_ptr);
+++         png_ptr->mode &= ~PNG_HAVE_fcTL;
+++
+++         png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
+++
+++         if (!(png_ptr->mode & PNG_HAVE_fcTL))
+++            png_error(png_ptr, "missing required fcTL chunk");
+++
+++         png_read_reinit(png_ptr, info_ptr);
+++         png_progressive_read_reset(png_ptr);
+++
+++         if (png_ptr->frame_info_fn != NULL)
+++            (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read);
+++
+++         png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++
+++         return;
+++      }
+++
+++      else
+++      {
+++         if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++         {
+++            png_push_save_buffer(png_ptr);
+++            return;
+++         }
+++         png_warning(png_ptr, "Skipped (ignored) a chunk "
+++                              "between APNG chunks");
+++         png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++         return;
+++      }
+++
+++      return;
+++   }
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++    if (chunk_name == png_IDAT)
++    {
++       if ((png_ptr->mode & PNG_AFTER_IDAT) != 0)
++@@ -261,6 +361,9 @@
++ 
++    else if (chunk_name == png_IDAT)
++    {
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      png_have_info(png_ptr, info_ptr);
+++#endif
++       png_ptr->idat_size = png_ptr->push_length;
++       png_ptr->process_mode = PNG_READ_IDAT_MODE;
++       png_push_have_info(png_ptr, info_ptr);
++@@ -406,6 +509,30 @@
++       png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
++    }
++ #endif
+++#ifdef PNG_READ_APNG_SUPPORTED
+++   else if (chunk_name == png_acTL)
+++   {
+++      if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++      {
+++         png_push_save_buffer(png_ptr);
+++         return;
+++      }
+++
+++      png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length);
+++   }
+++
+++   else if (chunk_name == png_fcTL)
+++   {
+++      if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++      {
+++         png_push_save_buffer(png_ptr);
+++         return;
+++      }
+++
+++      png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
+++   }
+++
+++#endif /* PNG_READ_APNG_SUPPORTED */
++ 
++    else
++    {
++@@ -539,7 +666,11 @@
++       png_byte chunk_tag[4];
++ 
++       /* TODO: this code can be commoned up with the same code in push_read */
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      PNG_PUSH_SAVE_BUFFER_IF_LT(12)
+++#else
++       PNG_PUSH_SAVE_BUFFER_IF_LT(8)
+++#endif
++       png_push_fill_buffer(png_ptr, chunk_length, 4);
++       png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length);
++       png_reset_crc(png_ptr);
++@@ -547,17 +678,64 @@
++       png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag);
++       png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0)
+++      {
+++          if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)
+++          {
+++              png_ptr->process_mode = PNG_READ_CHUNK_MODE;
+++              if (png_ptr->frame_end_fn != NULL)
+++                 (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
+++              png_ptr->num_frames_read++;
+++              return;
+++          }
+++          else
+++          {
+++              if (png_ptr->chunk_name == png_IEND)
+++                  png_error(png_ptr, "Not enough image data");
+++              if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++              {
+++                 png_push_save_buffer(png_ptr);
+++                 return;
+++              }
+++              png_warning(png_ptr, "Skipping (ignoring) a chunk between "
+++                                   "APNG chunks");
+++              png_crc_finish(png_ptr, png_ptr->push_length);
+++              png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++              return;
+++          }
+++      }
+++      else
+++#endif
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0)
+++#else
++       if (png_ptr->chunk_name != png_IDAT)
+++#endif
++       {
++          png_ptr->process_mode = PNG_READ_CHUNK_MODE;
++ 
++          if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0)
++             png_error(png_ptr, "Not enough compressed data");
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++         if (png_ptr->frame_end_fn != NULL)
+++            (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
+++         png_ptr->num_frames_read++;
+++#endif
+++
++          return;
++       }
++ 
++       png_ptr->idat_size = png_ptr->push_length;
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      if (png_ptr->num_frames_read > 0)
+++      {
+++         png_ensure_sequence_number(png_ptr, 4);
+++         png_ptr->idat_size -= 4;
+++      }
+++#endif
++    }
++ 
++    if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
++@@ -631,6 +809,15 @@
++    if (!(buffer_length > 0) || buffer == NULL)
++       png_error(png_ptr, "No IDAT data (internal error)");
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++   /* If the app is not APNG-aware, decode only the first frame */
+++   if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0)
+++   {
+++     png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
+++     return;
+++   }
+++#endif
+++
++    /* This routine must process all the data it has been given
++     * before returning, calling the row callback as required to
++     * handle the uncompressed results.
++@@ -1085,6 +1272,18 @@
++    png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
++ }
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void PNGAPI
+++png_set_progressive_frame_fn(png_structp png_ptr,
+++   png_progressive_frame_ptr frame_info_fn,
+++   png_progressive_frame_ptr frame_end_fn)
+++{
+++   png_ptr->frame_info_fn = frame_info_fn;
+++   png_ptr->frame_end_fn = frame_end_fn;
+++   png_ptr->apng_flags |= PNG_APNG_APP;
+++}
+++#endif
+++
++ png_voidp PNGAPI
++ png_get_progressive_ptr(png_const_structrp png_ptr)
++ {
++diff -Naru libpng-1.6.39.org/pngpriv.h libpng-1.6.39/pngpriv.h
++--- libpng-1.6.39.org/pngpriv.h       2022-11-24 08:37:51.508052181 +0900
+++++ libpng-1.6.39/pngpriv.h   2022-11-24 08:41:17.785489740 +0900
++@@ -628,6 +628,10 @@
++ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */
++                    /*             0x4000U (unused) */
++ #define PNG_IS_READ_STRUCT        0x8000U /* Else is a write struct */
+++#ifdef PNG_APNG_SUPPORTED
+++#define PNG_HAVE_acTL            0x10000U
+++#define PNG_HAVE_fcTL            0x20000U
+++#endif
++ 
++ /* Flags for the transformations the PNG library does on the image data */
++ #define PNG_BGR                 0x0001U
++@@ -864,6 +868,16 @@
++ #define png_tRNS PNG_U32(116,  82,  78,  83)
++ #define png_zTXt PNG_U32(122,  84,  88, 116)
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++#define png_acTL PNG_U32( 97,  99,  84,  76)
+++#define png_fcTL PNG_U32(102,  99,  84,  76)
+++#define png_fdAT PNG_U32(102, 100,  65,  84)
+++
+++/* For png_struct.apng_flags: */
+++#define PNG_FIRST_FRAME_HIDDEN       0x0001U
+++#define PNG_APNG_APP                 0x0002U
+++#endif
+++
++ /* The following will work on (signed char*) strings, whereas the get_uint_32
++  * macro will fail on top-bit-set values because of the sign extension.
++  */
++@@ -1635,6 +1649,47 @@
++     */
++ #endif
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr,
+++   png_uint_32 width, png_uint_32 height,
+++   png_uint_32 x_offset, png_uint_32 y_offset,
+++   png_uint_16 delay_num, png_uint_16 delay_den,
+++   png_byte dispose_op, png_byte blend_op), PNG_EMPTY);
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr,
+++   png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr,
+++   png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr,
+++   png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr,
+++   png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr,
+++   png_infop info_ptr),PNG_EMPTY);
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY);
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr,
+++   png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr,
+++   png_uint_32 width, png_uint_32 height,
+++   png_uint_32 x_offset, png_uint_32 y_offset,
+++   png_uint_16 delay_num, png_uint_16 delay_den,
+++   png_byte dispose_op, png_byte blend_op),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr,
+++   png_const_bytep data, png_size_t length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr,
+++   png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY);
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* Added at libpng version 1.4.0 */
++ #ifdef PNG_COLORSPACE_SUPPORTED
++ /* These internal functions are for maintaining the colorspace structure within
++diff -Naru libpng-1.6.39.org/pngread.c libpng-1.6.39/pngread.c
++--- libpng-1.6.39.org/pngread.c       2022-11-24 08:37:51.508052181 +0900
+++++ libpng-1.6.39/pngread.c   2022-11-24 08:41:17.786489737 +0900
++@@ -161,6 +161,9 @@
++ 
++       else if (chunk_name == png_IDAT)
++       {
+++#ifdef PNG_READ_APNG_SUPPORTED
+++         png_have_info(png_ptr, info_ptr);
+++#endif
++          png_ptr->idat_size = length;
++          break;
++       }
++@@ -255,6 +258,17 @@
++          png_handle_iTXt(png_ptr, info_ptr, length);
++ #endif
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++      else if (chunk_name == png_acTL)
+++         png_handle_acTL(png_ptr, info_ptr, length);
+++
+++      else if (chunk_name == png_fcTL)
+++         png_handle_fcTL(png_ptr, info_ptr, length);
+++
+++      else if (chunk_name == png_fdAT)
+++         png_handle_fdAT(png_ptr, info_ptr, length);
+++#endif
+++
++       else
++          png_handle_unknown(png_ptr, info_ptr, length,
++              PNG_HANDLE_CHUNK_AS_DEFAULT);
++@@ -262,6 +276,72 @@
++ }
++ #endif /* SEQUENTIAL_READ */
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void PNGAPI
+++png_read_frame_head(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */
+++
+++    png_debug(0, "Reading frame head");
+++
+++    if (!(png_ptr->mode & PNG_HAVE_acTL))
+++        png_error(png_ptr, "attempt to png_read_frame_head() but "
+++                           "no acTL present");
+++
+++    /* do nothing for the main IDAT */
+++    if (png_ptr->num_frames_read == 0)
+++        return;
+++
+++    png_read_reset(png_ptr);
+++    png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
+++    png_ptr->mode &= ~PNG_HAVE_fcTL;
+++
+++    have_chunk_after_DAT = 0;
+++    for (;;)
+++    {
+++        png_uint_32 length = png_read_chunk_header(png_ptr);
+++
+++        if (png_ptr->chunk_name == png_IDAT)
+++        {
+++            /* discard trailing IDATs for the first frame */
+++            if (have_chunk_after_DAT || png_ptr->num_frames_read > 1)
+++                png_error(png_ptr, "png_read_frame_head(): out of place IDAT");
+++            png_crc_finish(png_ptr, length);
+++        }
+++
+++        else if (png_ptr->chunk_name == png_fcTL)
+++        {
+++            png_handle_fcTL(png_ptr, info_ptr, length);
+++            have_chunk_after_DAT = 1;
+++        }
+++
+++        else if (png_ptr->chunk_name == png_fdAT)
+++        {
+++            png_ensure_sequence_number(png_ptr, length);
+++
+++            /* discard trailing fdATs for frames other than the first */
+++            if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1)
+++                png_crc_finish(png_ptr, length - 4);
+++            else if(png_ptr->mode & PNG_HAVE_fcTL)
+++            {
+++                png_ptr->idat_size = length - 4;
+++                png_ptr->mode |= PNG_HAVE_IDAT;
+++
+++                break;
+++            }
+++            else
+++                png_error(png_ptr, "png_read_frame_head(): out of place fdAT");
+++        }
+++        else
+++        {
+++            png_warning(png_ptr, "Skipped (ignored) a chunk "
+++                                 "between APNG chunks");
+++            png_crc_finish(png_ptr, length);
+++        }
+++    }
+++}
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++ /* Optional call to update the users info_ptr structure */
++ void PNGAPI
++ png_read_update_info(png_structrp png_ptr, png_inforp info_ptr)
++diff -Naru libpng-1.6.39.org/pngrutil.c libpng-1.6.39/pngrutil.c
++--- libpng-1.6.39.org/pngrutil.c      2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngrutil.c  2022-11-24 08:41:17.787489734 +0900
++@@ -864,6 +864,11 @@
++    filter_type = buf[11];
++    interlace_type = buf[12];
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++   png_ptr->first_frame_width = width;
+++   png_ptr->first_frame_height = height;
+++#endif
+++
++    /* Set internal variables */
++    png_ptr->width = width;
++    png_ptr->height = height;
++@@ -2858,6 +2863,179 @@
++ }
++ #endif
++ 
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++    png_byte data[8];
+++    png_uint_32 num_frames;
+++    png_uint_32 num_plays;
+++    png_uint_32 didSet;
+++
+++    png_debug(1, "in png_handle_acTL");
+++
+++    if (!(png_ptr->mode & PNG_HAVE_IHDR))
+++    {
+++        png_error(png_ptr, "Missing IHDR before acTL");
+++    }
+++    else if (png_ptr->mode & PNG_HAVE_IDAT)
+++    {
+++        png_warning(png_ptr, "Invalid acTL after IDAT skipped");
+++        png_crc_finish(png_ptr, length);
+++        return;
+++    }
+++    else if (png_ptr->mode & PNG_HAVE_acTL)
+++    {
+++        png_warning(png_ptr, "Duplicate acTL skipped");
+++        png_crc_finish(png_ptr, length);
+++        return;
+++    }
+++    else if (length != 8)
+++    {
+++        png_warning(png_ptr, "acTL with invalid length skipped");
+++        png_crc_finish(png_ptr, length);
+++        return;
+++    }
+++
+++    png_crc_read(png_ptr, data, 8);
+++    png_crc_finish(png_ptr, 0);
+++
+++    num_frames = png_get_uint_31(png_ptr, data);
+++    num_plays = png_get_uint_31(png_ptr, data + 4);
+++
+++    /* the set function will do error checking on num_frames */
+++    didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays);
+++    if(didSet)
+++        png_ptr->mode |= PNG_HAVE_acTL;
+++}
+++
+++void /* PRIVATE */
+++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++    png_byte data[22];
+++    png_uint_32 width;
+++    png_uint_32 height;
+++    png_uint_32 x_offset;
+++    png_uint_32 y_offset;
+++    png_uint_16 delay_num;
+++    png_uint_16 delay_den;
+++    png_byte dispose_op;
+++    png_byte blend_op;
+++
+++    png_debug(1, "in png_handle_fcTL");
+++
+++    png_ensure_sequence_number(png_ptr, length);
+++
+++    if (!(png_ptr->mode & PNG_HAVE_IHDR))
+++    {
+++        png_error(png_ptr, "Missing IHDR before fcTL");
+++    }
+++    else if (png_ptr->mode & PNG_HAVE_IDAT)
+++    {
+++        /* for any frames other then the first this message may be misleading,
+++        * but correct. PNG_HAVE_IDAT is unset before the frame head is read
+++        * i can't think of a better message */
+++        png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
+++        png_crc_finish(png_ptr, length-4);
+++        return;
+++    }
+++    else if (png_ptr->mode & PNG_HAVE_fcTL)
+++    {
+++        png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
+++        png_crc_finish(png_ptr, length-4);
+++        return;
+++    }
+++    else if (length != 26)
+++    {
+++        png_warning(png_ptr, "fcTL with invalid length skipped");
+++        png_crc_finish(png_ptr, length-4);
+++        return;
+++    }
+++
+++    png_crc_read(png_ptr, data, 22);
+++    png_crc_finish(png_ptr, 0);
+++
+++    width = png_get_uint_31(png_ptr, data);
+++    height = png_get_uint_31(png_ptr, data + 4);
+++    x_offset = png_get_uint_31(png_ptr, data + 8);
+++    y_offset = png_get_uint_31(png_ptr, data + 12);
+++    delay_num = png_get_uint_16(data + 16);
+++    delay_den = png_get_uint_16(data + 18);
+++    dispose_op = data[20];
+++    blend_op = data[21];
+++
+++    if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0))
+++    {
+++        png_warning(png_ptr, "fcTL for the first frame must have zero offset");
+++        return;
+++    }
+++
+++    if (info_ptr != NULL)
+++    {
+++        if (png_ptr->num_frames_read == 0 &&
+++            (width != info_ptr->width || height != info_ptr->height))
+++        {
+++            png_warning(png_ptr, "size in first frame's fcTL must match "
+++                               "the size in IHDR");
+++            return;
+++        }
+++
+++        /* The set function will do more error checking */
+++        png_set_next_frame_fcTL(png_ptr, info_ptr, width, height,
+++                                x_offset, y_offset, delay_num, delay_den,
+++                                dispose_op, blend_op);
+++
+++        png_read_reinit(png_ptr, info_ptr);
+++
+++        png_ptr->mode |= PNG_HAVE_fcTL;
+++    }
+++}
+++
+++void /* PRIVATE */
+++png_have_info(png_structp png_ptr, png_infop info_ptr)
+++{
+++    if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL))
+++    {
+++        png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
+++        info_ptr->num_frames++;
+++    }
+++}
+++
+++void /* PRIVATE */
+++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++    png_ensure_sequence_number(png_ptr, length);
+++
+++    /* This function is only called from png_read_end(), png_read_info(),
+++    * and png_push_read_chunk() which means that:
+++    * - the user doesn't want to read this frame
+++    * - or this is an out-of-place fdAT
+++    * in either case it is safe to ignore the chunk with a warning */
+++    png_warning(png_ptr, "ignoring fdAT chunk");
+++    png_crc_finish(png_ptr, length - 4);
+++    PNG_UNUSED(info_ptr)
+++}
+++
+++void /* PRIVATE */
+++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length)
+++{
+++    png_byte data[4];
+++    png_uint_32 sequence_number;
+++
+++    if (length < 4)
+++        png_error(png_ptr, "invalid fcTL or fdAT chunk found");
+++
+++    png_crc_read(png_ptr, data, 4);
+++    sequence_number = png_get_uint_31(png_ptr, data);
+++
+++    if (sequence_number != png_ptr->next_seq_num)
+++        png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence "
+++                           "number found");
+++
+++    png_ptr->next_seq_num++;
+++}
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++ #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
++ /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */
++ static int
++@@ -4166,7 +4344,38 @@
++       {
++          uInt avail_in;
++          png_bytep buffer;
+++#ifdef PNG_READ_APNG_SUPPORTED
+++         png_uint_32 bytes_to_skip = 0;
+++
+++         while (png_ptr->idat_size == 0 || bytes_to_skip != 0)
+++         {
+++            png_crc_finish(png_ptr, bytes_to_skip);
+++            bytes_to_skip = 0;
++ 
+++            png_ptr->idat_size = png_read_chunk_header(png_ptr);
+++            if (png_ptr->num_frames_read == 0)
+++            {
+++               if (png_ptr->chunk_name != png_IDAT)
+++                  png_error(png_ptr, "Not enough image data");
+++            }
+++            else
+++            {
+++               if (png_ptr->chunk_name == png_IEND)
+++                  png_error(png_ptr, "Not enough image data");
+++               if (png_ptr->chunk_name != png_fdAT)
+++               {
+++                  png_warning(png_ptr, "Skipped (ignored) a chunk "
+++                                       "between APNG chunks");
+++                  bytes_to_skip = png_ptr->idat_size;
+++                  continue;
+++               }
+++
+++               png_ensure_sequence_number(png_ptr, png_ptr->idat_size);
+++
+++               png_ptr->idat_size -= 4;
+++            }
+++         }
+++#else
++          while (png_ptr->idat_size == 0)
++          {
++             png_crc_finish(png_ptr, 0);
++@@ -4178,7 +4387,7 @@
++             if (png_ptr->chunk_name != png_IDAT)
++                png_error(png_ptr, "Not enough image data");
++          }
++-
+++#endif /* PNG_READ_APNG_SUPPORTED */
++          avail_in = png_ptr->IDAT_read_size;
++ 
++          if (avail_in > png_ptr->idat_size)
++@@ -4241,6 +4450,9 @@
++ 
++          png_ptr->mode |= PNG_AFTER_IDAT;
++          png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
+++#ifdef PNG_READ_APNG_SUPPORTED
+++         png_ptr->num_frames_read++;
+++#endif
++ 
++          if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0)
++             png_chunk_benign_error(png_ptr, "Extra compressed data");
++@@ -4678,4 +4890,80 @@
++ 
++    png_ptr->flags |= PNG_FLAG_ROW_INIT;
++ }
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++/* This function is to be called after the main IDAT set has been read and
+++ * before a new IDAT is read. It resets some parts of png_ptr
+++ * to make them usable by the read functions again */
+++void /* PRIVATE */
+++png_read_reset(png_structp png_ptr)
+++{
+++    png_ptr->mode &= ~PNG_HAVE_IDAT;
+++    png_ptr->mode &= ~PNG_AFTER_IDAT;
+++    png_ptr->row_number = 0;
+++    png_ptr->pass = 0;
+++}
+++
+++void /* PRIVATE */
+++png_read_reinit(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_ptr->width = info_ptr->next_frame_width;
+++    png_ptr->height = info_ptr->next_frame_height;
+++    png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
+++    png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,
+++        png_ptr->width);
+++    if (png_ptr->prev_row)
+++        memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
+++}
+++
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++/* same as png_read_reset() but for the progressive reader */
+++void /* PRIVATE */
+++png_progressive_read_reset(png_structp png_ptr)
+++{
+++#ifdef PNG_READ_INTERLACING_SUPPORTED
+++   /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
+++
+++   /* Start of interlace block */
+++    const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
+++
+++    /* Offset to next interlace block */
+++    const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
+++
+++    /* Start of interlace block in the y direction */
+++    const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
+++
+++    /* Offset to next interlace block in the y direction */
+++    const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
+++
+++    if (png_ptr->interlaced)
+++    {
+++        if (!(png_ptr->transformations & PNG_INTERLACE))
+++            png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 -
+++                                png_pass_ystart[0]) / png_pass_yinc[0];
+++        else
+++            png_ptr->num_rows = png_ptr->height;
+++
+++        png_ptr->iwidth = (png_ptr->width +
+++                           png_pass_inc[png_ptr->pass] - 1 -
+++                           png_pass_start[png_ptr->pass]) /
+++                           png_pass_inc[png_ptr->pass];
+++    }
+++    else
+++#endif /* PNG_READ_INTERLACING_SUPPORTED */
+++    {
+++        png_ptr->num_rows = png_ptr->height;
+++        png_ptr->iwidth = png_ptr->width;
+++    }
+++    png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED;
+++    if (inflateReset(&(png_ptr->zstream)) != Z_OK)
+++        png_error(png_ptr, "inflateReset failed");
+++    png_ptr->zstream.avail_in = 0;
+++    png_ptr->zstream.next_in = 0;
+++    png_ptr->zstream.next_out = png_ptr->row_buf;
+++    png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth,
+++        png_ptr->iwidth) + 1;
+++}
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
++ #endif /* READ */
++diff -Naru libpng-1.6.39.org/pngset.c libpng-1.6.39/pngset.c
++--- libpng-1.6.39.org/pngset.c        2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngset.c    2022-11-24 08:41:17.787489734 +0900
++@@ -288,6 +288,11 @@
++    info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth);
++ 
++    info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
+++
+++#ifdef PNG_APNG_SUPPORTED
+++   /* for non-animated png. this may be overwritten from an acTL chunk later */
+++   info_ptr->num_frames = 1;
+++#endif
++ }
++ 
++ #ifdef PNG_oFFs_SUPPORTED
++@@ -1161,6 +1166,147 @@
++ }
++ #endif /* sPLT */
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++png_uint_32 PNGAPI
+++png_set_acTL(png_structp png_ptr, png_infop info_ptr,
+++    png_uint_32 num_frames, png_uint_32 num_plays)
+++{
+++    png_debug1(1, "in %s storage function", "acTL");
+++
+++    if (png_ptr == NULL || info_ptr == NULL)
+++    {
+++        png_warning(png_ptr,
+++                    "Call to png_set_acTL() with NULL png_ptr "
+++                    "or info_ptr ignored");
+++        return (0);
+++    }
+++    if (num_frames == 0)
+++    {
+++        png_warning(png_ptr,
+++                    "Ignoring attempt to set acTL with num_frames zero");
+++        return (0);
+++    }
+++    if (num_frames > PNG_UINT_31_MAX)
+++    {
+++        png_warning(png_ptr,
+++                    "Ignoring attempt to set acTL with num_frames > 2^31-1");
+++        return (0);
+++    }
+++    if (num_plays > PNG_UINT_31_MAX)
+++    {
+++        png_warning(png_ptr,
+++                    "Ignoring attempt to set acTL with num_plays "
+++                    "> 2^31-1");
+++        return (0);
+++    }
+++
+++    info_ptr->num_frames = num_frames;
+++    info_ptr->num_plays = num_plays;
+++
+++    info_ptr->valid |= PNG_INFO_acTL;
+++
+++    return (1);
+++}
+++
+++/* delay_num and delay_den can hold any 16-bit values including zero */
+++png_uint_32 PNGAPI
+++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
+++    png_uint_32 width, png_uint_32 height,
+++    png_uint_32 x_offset, png_uint_32 y_offset,
+++    png_uint_16 delay_num, png_uint_16 delay_den,
+++    png_byte dispose_op, png_byte blend_op)
+++{
+++    png_debug1(1, "in %s storage function", "fcTL");
+++
+++    if (png_ptr == NULL || info_ptr == NULL)
+++    {
+++        png_warning(png_ptr,
+++                    "Call to png_set_fcTL() with NULL png_ptr or info_ptr "
+++                    "ignored");
+++        return (0);
+++    }
+++
+++    png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
+++                             delay_num, delay_den, dispose_op, blend_op);
+++
+++    if (blend_op == PNG_BLEND_OP_OVER)
+++    {
+++        if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) &&
+++            !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)))
+++        {
+++          png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless "
+++                               "and wasteful for opaque images, ignored");
+++          blend_op = PNG_BLEND_OP_SOURCE;
+++        }
+++    }
+++
+++    info_ptr->next_frame_width = width;
+++    info_ptr->next_frame_height = height;
+++    info_ptr->next_frame_x_offset = x_offset;
+++    info_ptr->next_frame_y_offset = y_offset;
+++    info_ptr->next_frame_delay_num = delay_num;
+++    info_ptr->next_frame_delay_den = delay_den;
+++    info_ptr->next_frame_dispose_op = dispose_op;
+++    info_ptr->next_frame_blend_op = blend_op;
+++
+++    info_ptr->valid |= PNG_INFO_fcTL;
+++
+++    return (1);
+++}
+++
+++void /* PRIVATE */
+++png_ensure_fcTL_is_valid(png_structp png_ptr,
+++    png_uint_32 width, png_uint_32 height,
+++    png_uint_32 x_offset, png_uint_32 y_offset,
+++    png_uint_16 delay_num, png_uint_16 delay_den,
+++    png_byte dispose_op, png_byte blend_op)
+++{
+++    if (width == 0 || width > PNG_UINT_31_MAX)
+++        png_error(png_ptr, "invalid width in fcTL (> 2^31-1)");
+++    if (height == 0 || height > PNG_UINT_31_MAX)
+++        png_error(png_ptr, "invalid height in fcTL (> 2^31-1)");
+++    if (x_offset > PNG_UINT_31_MAX)
+++        png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)");
+++    if (y_offset > PNG_UINT_31_MAX)
+++        png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)");
+++    if (width + x_offset > png_ptr->first_frame_width ||
+++        height + y_offset > png_ptr->first_frame_height)
+++        png_error(png_ptr, "dimensions of a frame are greater than"
+++                           "the ones in IHDR");
+++
+++    if (dispose_op != PNG_DISPOSE_OP_NONE &&
+++        dispose_op != PNG_DISPOSE_OP_BACKGROUND &&
+++        dispose_op != PNG_DISPOSE_OP_PREVIOUS)
+++        png_error(png_ptr, "invalid dispose_op in fcTL");
+++
+++    if (blend_op != PNG_BLEND_OP_SOURCE &&
+++        blend_op != PNG_BLEND_OP_OVER)
+++        png_error(png_ptr, "invalid blend_op in fcTL");
+++
+++    PNG_UNUSED(delay_num)
+++    PNG_UNUSED(delay_den)
+++}
+++
+++png_uint_32 PNGAPI
+++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr,
+++                              png_byte is_hidden)
+++{
+++    png_debug(1, "in png_first_frame_is_hidden()");
+++
+++    if (png_ptr == NULL)
+++        return 0;
+++
+++    if (is_hidden)
+++        png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
+++    else
+++        png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN;
+++
+++    PNG_UNUSED(info_ptr)
+++
+++    return 1;
+++}
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
++ static png_byte
++ check_location(png_const_structrp png_ptr, int location)
++diff -Naru libpng-1.6.39.org/pngstruct.h libpng-1.6.39/pngstruct.h
++--- libpng-1.6.39.org/pngstruct.h     2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngstruct.h 2022-11-24 08:41:17.787489734 +0900
++@@ -399,6 +399,27 @@
++    png_byte filter_type;
++ #endif
++ 
+++#ifdef PNG_APNG_SUPPORTED
+++   png_uint_32 apng_flags;
+++   png_uint_32 next_seq_num;         /* next fcTL/fdAT chunk sequence number */
+++   png_uint_32 first_frame_width;
+++   png_uint_32 first_frame_height;
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++   png_uint_32 num_frames_read;      /* incremented after all image data of */
+++                                     /* a frame is read */
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++   png_progressive_frame_ptr frame_info_fn; /* frame info read callback */
+++   png_progressive_frame_ptr frame_end_fn;  /* frame data read callback */
+++#endif
+++#endif
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++   png_uint_32 num_frames_to_write;
+++   png_uint_32 num_frames_written;
+++#endif
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* New members added in libpng-1.2.0 */
++ 
++ /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
++diff -Naru libpng-1.6.39.org/pngtest.c libpng-1.6.39/pngtest.c
++--- libpng-1.6.39.org/pngtest.c       2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngtest.c   2022-11-24 08:41:17.787489734 +0900
++@@ -875,6 +875,10 @@
++    volatile int num_passes;
++    int pass;
++    int bit_depth, color_type;
+++#ifdef PNG_APNG_SUPPORTED
+++   png_uint_32 num_frames;
+++   png_uint_32 num_plays;
+++#endif
++ 
++    row_buf = NULL;
++    error_parameters.file_name = inname;
++@@ -1383,6 +1387,22 @@
++       }
++    }
++ #endif
+++
+++#ifdef PNG_APNG_SUPPORTED
+++   if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
+++   {
+++      if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays))
+++      {
+++         png_byte is_hidden;
+++         pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)",
+++                    num_frames, num_plays);
+++         png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays);
+++         is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr);
+++         png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden);
+++      }
+++   }
+++#endif
+++
++ #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
++    {
++       png_unknown_chunkp unknowns;
++@@ -1463,6 +1483,110 @@
++    t_misc += (t_stop - t_start);
++    t_start = t_stop;
++ #endif
+++#ifdef PNG_APNG_SUPPORTED
+++   if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
+++   {
+++      png_uint_32 frame;
+++      for (frame = 0; frame < num_frames; frame++)
+++      {
+++         png_uint_32 frame_width;
+++         png_uint_32 frame_height;
+++         png_uint_32 x_offset;
+++         png_uint_32 y_offset;
+++         png_uint_16 delay_num;
+++         png_uint_16 delay_den;
+++         png_byte dispose_op;
+++         png_byte blend_op;
+++         png_read_frame_head(read_ptr, read_info_ptr);
+++         if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL))
+++         {
+++            png_get_next_frame_fcTL(read_ptr, read_info_ptr,
+++                                    &frame_width, &frame_height,
+++                                    &x_offset, &y_offset,
+++                                    &delay_num, &delay_den,
+++                                    &dispose_op, &blend_op);
+++         }
+++         else
+++         {
+++            frame_width = width;
+++            frame_height = height;
+++            x_offset = 0;
+++            y_offset = 0;
+++            delay_num = 1;
+++            delay_den = 1;
+++            dispose_op = PNG_DISPOSE_OP_NONE;
+++            blend_op = PNG_BLEND_OP_SOURCE;
+++         }
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++         png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf,
+++                              frame_width, frame_height,
+++                              x_offset, y_offset,
+++                              delay_num, delay_den,
+++                              dispose_op, blend_op);
+++#endif
+++         for (pass = 0; pass < num_passes; pass++)
+++         {
+++#           ifdef calc_pass_height
+++               png_uint_32 pass_height;
+++
+++               if (num_passes == 7) /* interlaced */
+++               {
+++                  if (PNG_PASS_COLS(frame_width, pass) > 0)
+++                     pass_height = PNG_PASS_ROWS(frame_height, pass);
+++
+++                  else
+++                     pass_height = 0;
+++               }
+++
+++               else /* not interlaced */
+++                  pass_height = frame_height;
+++#           else
+++#              define pass_height frame_height
+++#           endif
+++
+++            pngtest_debug1("Writing row data for pass %d", pass);
+++            for (y = 0; y < pass_height; y++)
+++            {
+++#ifndef SINGLE_ROWBUF_ALLOC
+++               pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y);
+++
+++               row_buf = (png_bytep)png_malloc(read_ptr,
+++                  png_get_rowbytes(read_ptr, read_info_ptr));
+++
+++               pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf,
+++                  (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr));
+++
+++#endif /* !SINGLE_ROWBUF_ALLOC */
+++               png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
+++
+++#ifdef PNG_WRITE_SUPPORTED
+++#ifdef PNGTEST_TIMING
+++               t_stop = (float)clock();
+++               t_decode += (t_stop - t_start);
+++               t_start = t_stop;
+++#endif
+++               png_write_rows(write_ptr, (png_bytepp)&row_buf, 1);
+++#ifdef PNGTEST_TIMING
+++               t_stop = (float)clock();
+++               t_encode += (t_stop - t_start);
+++               t_start = t_stop;
+++#endif
+++#endif /* PNG_WRITE_SUPPORTED */
+++
+++#ifndef SINGLE_ROWBUF_ALLOC
+++               pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y);
+++               png_free(read_ptr, row_buf);
+++               row_buf = NULL;
+++#endif /* !SINGLE_ROWBUF_ALLOC */
+++            }
+++         }
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++         png_write_frame_tail(write_ptr, write_info_ptr);
+++#endif
+++      }
+++   }
+++   else
+++#endif
++    for (pass = 0; pass < num_passes; pass++)
++    {
++ #     ifdef calc_pass_height
++diff -Naru libpng-1.6.39.org/pngwrite.c libpng-1.6.39/pngwrite.c
++--- libpng-1.6.39.org/pngwrite.c      2022-11-24 08:37:51.511052176 +0900
+++++ libpng-1.6.39/pngwrite.c  2022-11-24 08:41:17.787489734 +0900
++@@ -128,6 +128,10 @@
++        * the application continues writing the PNG.  So check the 'invalid'
++        * flag here too.
++        */
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++      if (info_ptr->valid & PNG_INFO_acTL)
+++         png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays);
+++#endif
++ #ifdef PNG_GAMMA_SUPPORTED
++ #  ifdef PNG_WRITE_gAMA_SUPPORTED
++       if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
++@@ -370,6 +374,11 @@
++       png_benign_error(png_ptr, "Wrote palette index exceeding num_palette");
++ #endif
++ 
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++   if (png_ptr->num_frames_written != png_ptr->num_frames_to_write)
+++      png_error(png_ptr, "Not enough frames written");
+++#endif
+++
++    /* See if user wants us to write information chunks */
++    if (info_ptr != NULL)
++    {
++@@ -1471,6 +1480,43 @@
++ }
++ #endif
++ 
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void PNGAPI
+++png_write_frame_head(png_structp png_ptr, png_infop info_ptr,
+++    png_bytepp row_pointers, png_uint_32 width, png_uint_32 height,
+++    png_uint_32 x_offset, png_uint_32 y_offset,
+++    png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++    png_byte blend_op)
+++{
+++    png_debug(1, "in png_write_frame_head");
+++
+++    /* there is a chance this has been set after png_write_info was called,
+++    * so it would be set but not written. is there a way to be sure? */
+++    if (!(info_ptr->valid & PNG_INFO_acTL))
+++        png_error(png_ptr, "png_write_frame_head(): acTL not set");
+++
+++    png_write_reset(png_ptr);
+++
+++    png_write_reinit(png_ptr, info_ptr, width, height);
+++
+++    if ( !(png_ptr->num_frames_written == 0 &&
+++           (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) )
+++        png_write_fcTL(png_ptr, width, height, x_offset, y_offset,
+++                       delay_num, delay_den, dispose_op, blend_op);
+++
+++    PNG_UNUSED(row_pointers)
+++}
+++
+++void PNGAPI
+++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr)
+++{
+++    png_debug(1, "in png_write_frame_tail");
+++
+++    png_ptr->num_frames_written++;
+++
+++    PNG_UNUSED(info_ptr)
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++ 
++ #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
++ /* Initialize the write structure - general purpose utility. */
++diff -Naru libpng-1.6.39.org/pngwutil.c libpng-1.6.39/pngwutil.c
++--- libpng-1.6.39.org/pngwutil.c      2022-11-24 08:37:51.511052176 +0900
+++++ libpng-1.6.39/pngwutil.c  2022-11-24 08:41:17.788489731 +0900
++@@ -821,6 +821,11 @@
++    /* Write the chunk */
++    png_write_complete_chunk(png_ptr, png_IHDR, buf, 13);
++ 
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++   png_ptr->first_frame_width = width;
+++   png_ptr->first_frame_height = height;
+++#endif
+++
++    if ((png_ptr->do_filter) == PNG_NO_FILTERS)
++    {
++       if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
++@@ -1002,8 +1007,17 @@
++                optimize_cmf(data, png_image_size(png_ptr));
++ #endif
++ 
++-         if (size > 0)
++-            png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++            if (size > 0)
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++            {
+++               if (png_ptr->num_frames_written == 0)
+++#endif
+++               png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++               else
+++                  png_write_fdAT(png_ptr, data, size);
+++            }
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++          png_ptr->mode |= PNG_HAVE_IDAT;
++ 
++          png_ptr->zstream.next_out = data;
++@@ -1050,7 +1064,17 @@
++ #endif
++ 
++          if (size > 0)
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++         {
+++            if (png_ptr->num_frames_written == 0)
+++#endif
++             png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++            else
+++               png_write_fdAT(png_ptr, data, size);
+++         }
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++
++          png_ptr->zstream.avail_out = 0;
++          png_ptr->zstream.next_out = NULL;
++          png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT;
++@@ -1885,6 +1909,82 @@
++ }
++ #endif
++ 
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_write_acTL(png_structp png_ptr,
+++    png_uint_32 num_frames, png_uint_32 num_plays)
+++{
+++    png_byte buf[8];
+++
+++    png_debug(1, "in png_write_acTL");
+++
+++    png_ptr->num_frames_to_write = num_frames;
+++
+++    if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN)
+++        num_frames--;
+++
+++    png_save_uint_32(buf, num_frames);
+++    png_save_uint_32(buf + 4, num_plays);
+++
+++    png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8);
+++}
+++
+++void /* PRIVATE */
+++png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
+++    png_uint_32 x_offset, png_uint_32 y_offset,
+++    png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++    png_byte blend_op)
+++{
+++    png_byte buf[26];
+++
+++    png_debug(1, "in png_write_fcTL");
+++
+++    if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0))
+++        png_error(png_ptr, "x and/or y offset for the first frame aren't 0");
+++    if (png_ptr->num_frames_written == 0 &&
+++        (width != png_ptr->first_frame_width ||
+++         height != png_ptr->first_frame_height))
+++        png_error(png_ptr, "width and/or height in the first frame's fcTL "
+++                           "don't match the ones in IHDR");
+++
+++    /* more error checking */
+++    png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
+++                             delay_num, delay_den, dispose_op, blend_op);
+++
+++    png_save_uint_32(buf, png_ptr->next_seq_num);
+++    png_save_uint_32(buf + 4, width);
+++    png_save_uint_32(buf + 8, height);
+++    png_save_uint_32(buf + 12, x_offset);
+++    png_save_uint_32(buf + 16, y_offset);
+++    png_save_uint_16(buf + 20, delay_num);
+++    png_save_uint_16(buf + 22, delay_den);
+++    buf[24] = dispose_op;
+++    buf[25] = blend_op;
+++
+++    png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26);
+++
+++    png_ptr->next_seq_num++;
+++}
+++
+++void /* PRIVATE */
+++png_write_fdAT(png_structp png_ptr,
+++    png_const_bytep data, png_size_t length)
+++{
+++    png_byte buf[4];
+++
+++    png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length));
+++
+++    png_save_uint_32(buf, png_ptr->next_seq_num);
+++    png_write_chunk_data(png_ptr, buf, 4);
+++
+++    png_write_chunk_data(png_ptr, data, length);
+++
+++    png_write_chunk_end(png_ptr);
+++
+++    png_ptr->next_seq_num++;
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++
++ /* Initializes the row writing capability of libpng */
++ void /* PRIVATE */
++ png_write_start_row(png_structrp png_ptr)
++@@ -2778,4 +2878,39 @@
++    }
++ #endif /* WRITE_FLUSH */
++ }
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_write_reset(png_structp png_ptr)
+++{
+++    png_ptr->row_number = 0;
+++    png_ptr->pass = 0;
+++    png_ptr->mode &= ~PNG_HAVE_IDAT;
+++}
+++
+++void /* PRIVATE */
+++png_write_reinit(png_structp png_ptr, png_infop info_ptr,
+++                 png_uint_32 width, png_uint_32 height)
+++{
+++    if (png_ptr->num_frames_written == 0 &&
+++        (width != png_ptr->first_frame_width ||
+++         height != png_ptr->first_frame_height))
+++        png_error(png_ptr, "width and/or height in the first frame's fcTL "
+++                           "don't match the ones in IHDR");
+++    if (width > png_ptr->first_frame_width ||
+++        height > png_ptr->first_frame_height)
+++        png_error(png_ptr, "width and/or height for a frame greater than"
+++                           "the ones in IHDR");
+++
+++    png_set_IHDR(png_ptr, info_ptr, width, height,
+++                 info_ptr->bit_depth, info_ptr->color_type,
+++                 info_ptr->interlace_type, info_ptr->compression_type,
+++                 info_ptr->filter_type);
+++
+++    png_ptr->width = width;
+++    png_ptr->height = height;
+++    png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width);
+++    png_ptr->usr_width = png_ptr->width;
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++ #endif /* WRITE */
++diff -Naru libpng-1.6.39.org/scripts/symbols.def libpng-1.6.39/scripts/symbols.def
++--- libpng-1.6.39.org/scripts/symbols.def     2022-11-24 08:37:51.515052168 +0900
+++++ libpng-1.6.39/scripts/symbols.def 2022-11-24 08:41:17.788489731 +0900
++@@ -253,3 +253,23 @@
++  png_set_eXIf @247
++  png_get_eXIf_1 @248
++  png_set_eXIf_1 @249
+++ png_get_acTL @250
+++ png_set_acTL @251
+++ png_get_num_frames @252
+++ png_get_num_plays @253
+++ png_get_next_frame_fcTL @254
+++ png_set_next_frame_fcTL @255
+++ png_get_next_frame_width @256
+++ png_get_next_frame_height @257
+++ png_get_next_frame_x_offset @258
+++ png_get_next_frame_y_offset @259
+++ png_get_next_frame_delay_num @260
+++ png_get_next_frame_delay_den @261
+++ png_get_next_frame_dispose_op @262
+++ png_get_next_frame_blend_op @263
+++ png_get_first_frame_is_hidden @264
+++ png_set_first_frame_is_hidden @265
+++ png_read_frame_head @266
+++ png_set_progressive_frame_fn @267
+++ png_write_frame_head @268
+++ png_write_frame_tail @269
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..25b177ff46330888ee4d089c5447322ab9f9509d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,61 @@@
++Description: this patch is needed to strip arch-dep bits and get a multiarch -dev package.
++Index: libpng1.6-1.6.21/scripts/libpng-config-body.in
++===================================================================
++--- libpng1.6-1.6.21.orig/scripts/libpng-config-body.in
+++++ libpng1.6-1.6.21/scripts/libpng-config-body.in
++@@ -6,7 +6,7 @@
++ Known values for OPTION are:
++ 
++   --prefix        print libpng prefix
++-  --libdir        print path to directory containing library
+++  --libdir        print path to directory containing library (disabled in Debian/Ubuntu)
++   --libs          print library linking information
++   --ccopts        print compiler options
++   --cppflags      print pre-processor flags
++@@ -57,6 +57,8 @@
++         ;;
++ 
++     --libdir)
+++        echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
+++        exit 1
++         echo ${libdir}
++         ;;
++ 
++Index: libpng1.6-1.6.21/libpng-config.in
++===================================================================
++--- libpng1.6-1.6.21.orig/libpng-config.in
+++++ libpng1.6-1.6.21/libpng-config.in
++@@ -14,12 +14,13 @@
++ version="@PNGLIB_VERSION@"
++ prefix="@prefix@"
++ exec_prefix="@exec_prefix@"
++-libdir="@libdir@"
+++# we disable that to make the -dev package Multi-Arch: same
+++libdir=
++ includedir="@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
++ libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
++ all_libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ @LIBS@"
++ I_opts="-I${includedir}"
++-L_opts="-L${libdir}"
+++L_opts=
++ R_opts=""
++ cppflags=""
++ ccopts=""
++@@ -33,7 +34,7 @@
++ Known values for OPTION are:
++ 
++   --prefix        print libpng prefix
++-  --libdir        print path to directory containing library
+++  --libdir        print path to directory containing library (disabled in Debian/Ubuntu)
++   --libs          print library linking information
++   --ccopts        print compiler options
++   --cppflags      print pre-processor flags
++@@ -84,6 +85,8 @@
++         ;;
++ 
++     --libdir)
+++        echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
+++        exit 1
++         echo ${libdir}
++         ;;
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..88cc6c0b0fc41f956ec82c7766715240a0a25286
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++libpng-config.patch
++#libpng-1.6.39-apng.patch
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..925abc416f76e74c27d0f916adc4fd943ccf4f5e
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,36 @@@
++#!/usr/bin/make -f
++# -*- makefile -*-
++
++# Uncomment this to turn on verbose mode.
++# export DH_VERBOSE=1
++
++export DEB_BUILD_MAINT_OPTIONS   := hardening=+all
++export DEB_CFLAGS_MAINT_APPEND   := $(shell dpkg-buildflags --get CPPFLAGS)
++export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
++export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
++CC?=gcc
++
++%:
++      dh $@ --buildsystem=cmake
++
++include /usr/share/dpkg/architecture.mk
++
++ifneq (,$(filter $(DEB_HOST_ARCH_CPU),powerpc ppc64))
++# VSX is an extension of AltiVec, which is not part of the baseline.
++# see https://wiki.debian.org/ArchitectureSpecificsMemo
++override_dh_auto_configure:
++      dh_auto_configure -- -DPNG_POWERPC_VSX=off
++endif
++
++override_dh_auto_test:
++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
++      dh_auto_test
++ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
++      $(CC) $(CFLAGS) $(CPPFLAGS) -Wall -g -O2 -c -o pngtest.o pngtest.c -I obj-$(DEB_HOST_GNU_TYPE)
++      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pngtest-static -Wall -g -O2  pngtest.o obj-$(DEB_HOST_GNU_TYPE)/libpng16.a -lz -lm
++      ./pngtest-static
++endif
++endif
++
++override_dh_makeshlibs:
++      dh_makeshlibs --add-udeb=libpng16-16-udeb -a
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8424db446e1abcdef8338ebc449ccd27996ac11f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++---
++include:
++  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1bc9379b82c505e082b699d1ab2ca9677fd2c452
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++Bug-Database: https://github.com/pnggroup/libpng/issues
++Bug-Submit: https://github.com/pnggroup/libpng/issues/new
++Repository: https://github.com/pnggroup/libpng.git
++Repository-Browse: https://github.com/pnggroup/libpng
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3c1ed54d04169f55ed1cbe25162fa7eed25f8c83
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++# qa.debian.org runs a redirector which allows a simpler form of URL
++# for SourceForge based projects. The format below will automatically
++# be rewritten to use the redirector.
++#opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/_/./g;s/^(\S+-x86\.64)/0.0.$1/;s/^(\S+-i586)/0.0.$1/,pgpsigurlmangle=s/$/.asc/ \
++# http://www.libpng.org/pub/png/libpng.html .*/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
++#http://sf.net/libpng/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
++#
++version=4
++opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libpng-$1\.tar\.gz/ \
++  https://github.com/pnggroup/libpng/tags .*/v?(\d\S+)\.tar\.gz